我有以下代码,我想用它来从地址字符串中捕获街道名称。
对于“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;
}
我究竟做错了什么?