我的输入段落包含一条以道路或大道结尾的道路(例如墨尔本路或尼甘布金布拉皮蒂亚路)。任何人都可以建议我一种模式类型来从段落中提取道路名称吗?
问问题
69 次
2 回答
1
如果你String
总是以 结尾' Road'
,你可以删除最后 5 个字符。-
String res = road.substring(0, road.length - 5);
于 2013-10-13T10:50:43.460 回答
0
你可以试试这个正则表达式
"(?i)\\s*(road|avenue)\\s*$"
它匹配 - 不区分大小写(?i)
- 单词road
或avenue
在一行的末尾$
- 只是为了修剪 -\\s*
它之前和之后的任何空格。
@Test
public void extractRoadOrAvenueName() {
String regex = "(?i)\\s*(road|avenue)\\s*$";
String road = "melbourne road".replaceFirst(regex, "");
Assert.assertEquals("melbourne", road);
road = "Negombo Kimbulapitiya Road ".replaceFirst(regex, "");
Assert.assertEquals("Negombo Kimbulapitiya", road);
String avenue = "sunset Avenue".replaceFirst(regex, "");
Assert.assertEquals("sunset", avenue);
}
于 2013-10-13T11:28:37.813 回答