这是我拥有的字符串:
KLAS 282356Z 32010KT 10SM FEW090 10/M13 A2997 RMK AO2 SLP145 T01001128 10100 20072 51007
这是一份天气报告。我需要从报告中提取以下数字:10/M13
. 它是温度和露点,M
表示负值。因此,字符串中的位置可能会有所不同,并且温度可能会显示为M10/M13
或10/13
或M10/13
。
我已经完成了以下代码:
public String getTemperature (String metarIn){
Pattern regex = Pattern.compile(".*(\\d+)\\D+(\\d+)");
Matcher matcher = regex.matcher(metarIn);
if (matcher.matches() && matcher.groupCount() == 1) {
temperature = matcher.group(1);
System.out.println(temperature);
}
return temperature;
}
显然,正则表达式是错误的,因为该方法总是返回 null。我尝试了数十种变化,但无济于事。如果有人可以提供帮助,非常感谢!