输入:湖南省 岳阳市 岳阳楼区 三眼桥街道南湖游路 11
输出:SalesOrderAddress(province=湖南省, city=岳阳市, district=岳阳楼区, detailAddress=岳阳楼区11)
输入:上海 上海市 宝山区 大场镇上海市宝山区锦秋路
输出:SalesOrderAddress(province=上海, city=上海市, district=宝山区, detailAddress=宝山区大场镇上海市宝山区锦秋路)
输入:广西壮族自治区 钦州市 钦北区 子材街道江滨豪园
输出:SalesOrderAddress(province=广西壮族自治区, city=钦州市, district=钦北区, detailAddress=钦北区子材街道江滨豪园)
@Data
public class SalesOrderAddress implements Serializable {
//省
private String province;
//市
private String city;
//区
private String district;
//详细地址
private String detailAddress;
}
public class StringUtils {
/**
* 收货地址过滤
* @param address
* @return salesOrderAddress
*/
public static SalesOrderAddress addressFilter(String address){
salesOrderAddress = new SalesOrderAddress();
//收货地址用空格分割
String[] s = address.split(" ");
for (int i = 0; i < s.length; i++) {
if (i == 0){
salesOrderAddress.setProvince(s[i]);
}else if (i == 1){
salesOrderAddress.setCity(s[i]);
}else if (i == 2){
salesOrderAddress.setDistrict(s[i]);
}else {
//如果详细地址有多段,将剩余段都追加到detailAddress中
salesOrderAddress.setDetailAddress(salesOrderAddress.getDistrict()+s[i]);
}
}
return salesOrderAddress;
}
@Test
public void stringTest(){
SalesOrderAddress salesOrderAddress1 = addressFilter("湖南省 岳阳市 岳阳楼区 三眼桥街道南湖游路 11");
System.out.println(salesOrderAddress1);
SalesOrderAddress salesOrderAddress2 = addressFilter("上海 上海市 宝山区 大场镇上海市宝山区锦秋路");
System.out.println(salesOrderAddress2);
SalesOrderAddress salesOrderAddress3 = addressFilter("广西壮族自治区 钦州市 钦北区 子材街道江滨豪园");
System.out.println(salesOrderAddress3);
}
}