Java 代码:从字符串中提取省市区镇社区信息
以下是一个简单的 Java 代码示例,可以从输入的字符串中提取省、市、区、镇和社区等信息。
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class AddressExtractor {
public static void main(String[] args) {
String input = '中国浙江省杭州市西湖区古荡街道华星路123号';
String province = extractProvince(input);
String city = extractCity(input);
String area = extractArea(input);
String town = extractTown(input);
String community = extractCommunity(input);
System.out.println('省:' + province);
System.out.println('市:' + city);
System.out.println('区/县:' + area);
System.out.println('镇/街道:' + town);
System.out.println('社区/村:' + community);
}
private static String extractProvince(String input) {
String regex = '.*?(省|自治区|特别行政区)';
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(input);
if (matcher.find()) {
return matcher.group(1);
} else {
return '';
}
}
private static String extractCity(String input) {
String regex = '.*?(市|自治州|盟)';
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(input);
if (matcher.find()) {
return matcher.group(1);
} else {
return '';
}
}
private static String extractArea(String input) {
String regex = '.*?(区|县|市)';
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(input);
if (matcher.find()) {
return matcher.group(1);
} else {
return '';
}
}
private static String extractTown(String input) {
String regex = '.*?(街道|镇|乡)';
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(input);
if (matcher.find()) {
return matcher.group(1);
} else {
return '';
}
}
private static String extractCommunity(String input) {
String regex = '.*?(社区|村)';
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(input);
if (matcher.find()) {
return matcher.group(1);
} else {
return '';
}
}
}
这个示例使用正则表达式来匹配输入字符串中的省、市、区、镇和社区等信息。每个extract方法都使用不同的正则表达式来提取不同的信息。如果找到了匹配的信息,则返回该信息;否则,返回一个空字符串。
请注意,这只是一个简单的示例,无法处理所有情况。如果您需要更精确的地址提取功能,请考虑使用更复杂的算法或第三方库。
原文地址: https://www.cveoy.top/t/topic/nw5B 著作权归作者所有。请勿转载和采集!