有一些原始行有兩個或多個地址,我想根據加拿大郵政編碼的最后一部分使用環視機制將它們拆分。加拿大郵政編碼格式為 A1A 1A1,其中 A 是字母,1 是數字,第三個和第四個字符之間用空格隔開。
這是一個例子
160 Rue, Notre Dame N, Bureau 140, Sainte-Marie, G6E 3Z9 887 Chemin du Bord de l'Eau, Saint-Henri de Levis, G0R 3E0
我想根據郵政編碼最后一部分后的空格分割地址(如果存在)結果:
160 Rue, Notre Dame N, Bureau 140, Sainte-Marie, G6E 3Z9
887 Chemin du Bord de l'Eau, Saint-Henri de Levis, G0R 3E0
我試過
List<String> addresses = new ArrayList<String>();
addresses = Arrays.asList(long_addresses.Address.split("(\\d\\w\\d)\\s"));
但結果是:
[, Rue, Notre Dame N, Bureau 140, Sainte-Marie, G6E, , Chemin du Bord de l'Eau, Saint-Henri de Levis, G0R 3E0]
這里有一些其他的例子
141 rang du br?lé, pont rouge, G3H1B8 200 rue Commerciale, Donnacona, G3M 1W1
33 rue provost, Montreal, H8S 1L3 46 avenue Sainte-Anne, Pointe-Claire, H9S 4P8 2035 rue Victoria, Lachine, H8S 0A8 2075 rue de l'Eglise, Saint-Laurent, H4M 1G3 803 8035 rue Victoria, Lachine, , H4Y 0A4
2075 rue de l'Eglise, Saint-Laurent, H4M 1G3 2035 rue Victoria, Lachine, H8S 0A8 46 ave, Sainte-Anne, Pointe-Claire, H9S 4P8 12 Charlevoix , Kirkland, H9J 2T6 St Laurent-Ville, St Laurent Ville 930 , H4L 3R9 1417 亞皆老街 , 蒙特利爾, H3G 1V5
注意:我修剪了最后一個沒有空格的郵政編碼。先感謝您。
uj5u.com熱心網友回復:
您可以使用
(?<=\b[a-zA-Z]\d[a-zA-Z]\s\d[a-zA-Z]\d)\s
或者,如果之間的空間A1A和1A1是可選的,可以去丟失,您可以使用
(?<=\b[a-zA-Z]\d[a-zA-Z]\s{0,1}\d[a-zA-Z]\d)\s
這仍然有效,因為 Java 正則運算式引擎支持約束寬度的后視模式。
請參閱正則運算式演示/正則運算式演示 #2。詳情:
(?<=\b[a-zA-Z]\d[a-zA-Z]\s\d[a-zA-Z]\d)- 正向后視需要(緊接在當前位置的左側):\b- 一個詞的邊界[a-zA-Z]- 一封信\d- 一個數字[a-zA-Z]\s\d[a-zA-Z]\d- 一個字母、一個空格、一個數字、一個字母和一個數字
\s- 一個或多個空格。
將\s{0,1}匹配一個或零空格。
在線查看Java 演示:
String s = "160 Rue, Notre Dame N, Bureau 140, Sainte-Marie, G6E 3Z9 887 Chemin du Bord de l'Eau, Saint-Henri de Levis, G0R 3E0";
String regex = "(?<=\\b[a-zA-Z]\\d[a-zA-Z]\\s\\d[a-zA-Z]\\d)\\s ";
// Or
// String regex = "(?<=\\b[a-zA-Z]\\d[a-zA-Z]\\s{0,1}\\d[a-zA-Z]\\d)\\s ";
String results[] = s.split(regex);
for (String str: results) {
System.out.println(str);
}
輸出:
160 Rue, Notre Dame N, Bureau 140, Sainte-Marie, G6E 3Z9
887 Chemin du Bord de l'Eau, Saint-Henri de Levis, G0R 3E0
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/392765.html
