正则表达式与alteryx解析

问题描述 投票:0回答:2

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

我正在使用Alteryx并尝试使用regex (\<\w+\>)\s\<\w+\>,但只获得了一些新记录。

输入:

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

产量

CABRAMATTA          
CANLEY HEIGHTS      
ST JOHNS PARK       
Parramatta
Claymore
CASULA        

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

regex alteryx
2个回答
1
投票

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

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

demo

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


0
投票

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

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

这将抓取第一组中匹配的任何内容(因此只是郊区)。第二组和第三组匹配状态和zip。不是一个完美的正则表达式,但应该让你在那里的大部分。

© www.soinside.com 2019 - 2024. All rights reserved.