これは私が持っている文字列です:
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を返すため、明らかに正規表現は間違っています。私は何十ものバリエーションを試しましたが、役に立ちませんでした。誰かが助けてくれたらどうもありがとう!