0

住所文字列から通りの名前を取得するために使用したい次のコードがあります。

「77 ELM ST」のアドレスの場合、以下のコードは正しい「ELM」を示します。

「115 GEORGE APPLETON FOX ST」の住所の場合、コードは「APPLETON」を示します。期待される結果は「GEORGE APPLETON FOX」になるはずです。

例えば:

private static String ADDRESS_PATTERN = "^\\d*\\s*(\\w+\\s*)*ST$";

public String parseStreet(String address) {
    Pattern addressPattern = Pattern.compile(ADDRESS_PATTERN);
    Matcher matcher = addressPattern.matcher(address);
    boolean found = matcher.find();
    return found ? matcher.group(1).trim() : null;
}

私は何を間違っていますか?

4

1 に答える 1