Java利用正则表达式提取城市名称和编码代码
时间: 2024-03-25 20:41:46 浏览: 8
可以使用 Java 中的正则表达式来提取城市名称和编码,代码如下:
```java
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main {
public static void main(String[] args) {
String text = "北京市:110000, 上海市:310000, 广州市:440100, 深圳市:440300";
String pattern = "(\\w+市):(\\d+)";
Pattern r = Pattern.compile(pattern);
Matcher m = r.matcher(text);
while (m.find()) {
System.out.println("城市名称:" + m.group(1) + ",编码:" + m.group(2));
}
}
}
```
输出结果为:
```
城市名称:北京市,编码:110000
城市名称:上海市,编码:310000
城市名称:广州市,编码:440100
城市名称:深圳市,编码:440300
```
正则表达式解析:
- `(\\w+市)`: 匹配以“市”结尾的城市名称,使用括号将其作为第一个匹配组。
- `:`:匹配冒号。
- `(\\d+)`:匹配数字编码,使用括号将其作为第二个匹配组。
在匹配完成后,使用 `m.group(1)` 和 `m.group(2)` 分别获取第一个和第二个匹配组的结果,即城市名称和编码。