0

其中一列的数据如下,我只需要郊区名称,不需要州或邮政编码。

我正在使用 Alteryx 并尝试了正则表达式(\<\w+\>)\s\<\w+\>,但只在新列中获得了几条记录。

输入:

CABRAMATTA          
CANLEY HEIGHTS      
ST JOHNS PARK       
Parramatta NSW 2150 
Claymore 2559       
CASULA
  

输出

CABRAMATTA          
CANLEY HEIGHTS      
ST JOHNS PARK       
Parramatta
Claymore
CASULA        
4

3 回答 3

2

此正则表达式匹配所有字母单词,但不包括澳大利亚州缩写(因为地址显然是澳大利亚):

( ?(?!(VIC|NSW|QLD|TAS|SA|WA|ACT|NT)\b)\b[a-zA-Z]+)+

演示

负面展望包括一个单词边界,以允许以州缩写开头的郊区(参见演示)。

于 2015-03-14T11:20:09.250 回答
0

扩展 Bohemian 的答案,您可以使用分组在 alteryx 中执行 REGEXP REPLACE。所以:

REGEX_Replace([Field1], "(.*)(\VIC|NSW|QLD|TAS|SA|WA|ACT|NT)+(\s*\d+)" , "\1")

这将抓取与第一组匹配的任何内容(所以只是郊区)。第二组和第三组匹配状态和邮编。不是一个完美的正则表达式,但应该能让你大部分时间到达那里。

于 2018-09-04T16:09:11.183 回答
0

我认为这个工作流程会帮助你:

在此处输入图像描述

于 2021-04-12T10:06:19.947 回答