正则表达式与alteryx解析

时间:2015-03-14 07:38:20

标签: regex 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        

注意:数据适用于澳大利亚

3 个答案:

答案 0 :(得分:1)

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

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

请参阅demo

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

答案 1 :(得分:0)

扩展Bohemian的答案,您可以使用分组在Alteryx中进行REGEXP替换。所以:

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

这将抓取第一个组中匹配的所有内容(因此,仅郊区)。第二和第三组匹配状态和邮政编码。不是一个完美的正则表达式,但是应该可以帮助您达到目的。

答案 2 :(得分:0)

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

enter image description here