使用 alteryx 进行正则表达式解析

Regex parse with alteryx

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

我正在使用 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        

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

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

demo

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

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

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

这将抓取第一组中匹配的所有内容(因此只是郊区)。第二组和第三组匹配州和邮编。不是一个完美的正则表达式,但应该可以帮助您完成大部分工作。

我认为这个工作流程会对您有所帮助: