我正在尝试为一个项目解析街道名称文件,并需要删除修饰词(Upper / Lower / Old / New / North / East / South / West ...)和结尾(street / road / way / lane...),但是我在使用正则表达式时遇到了困难。
目前的设置是程序将逐行解析文件(即街道名称),并进行检查。我认为问题在于单词边界——例如,我需要进行以下转换...
Old Harrow Way -> Harrow(即删除“Old”前缀和“Way”结尾) Chittock Mead -> Chittock(删除结尾“Mead”) - 但在单词中不需要进行转换: Gold Lane -> Gold(只需删除结尾) Eastley Avenue -> Eastly(只需删除结尾) Upper Western Avenue -> Western(删除前缀和结尾)
显然,“South Street”等类似情况会同时删除两个元素——这没关系,因为我可以丢弃空字符串。
有人能给我一个实现方法吗?我已经阅读了有关正则表达式的资料并尝试了几个小时!
目前的设置是程序将逐行解析文件(即街道名称),并进行检查。我认为问题在于单词边界——例如,我需要进行以下转换...
Old Harrow Way -> Harrow(即删除“Old”前缀和“Way”结尾) Chittock Mead -> Chittock(删除结尾“Mead”) - 但在单词中不需要进行转换: Gold Lane -> Gold(只需删除结尾) Eastley Avenue -> Eastly(只需删除结尾) Upper Western Avenue -> Western(删除前缀和结尾)
显然,“South Street”等类似情况会同时删除两个元素——这没关系,因为我可以丢弃空字符串。
有人能给我一个实现方法吗?我已经阅读了有关正则表达式的资料并尝试了几个小时!