我是OpenRefine和GREL的新手。在地址行中,我试图提取城市和邮政编码。该行通常包含:12 rue du Paradis 75012 Paris
我想从5位数(75012)开始分割这一行。在我能轻易拿下这座城市之后。
在命令"Split into几列"中,你会放什么正则表达式(或者是另一个命令)?
谢谢!
'split into几列'以一个正则表达式作为参数,指定在进行分割时使用的分隔符。在这种情况下,这可能不是您需要的——因为分隔符没有通用表达式。
相反,您可能会更好地使用"基于此列添加列"选项,然后使用'match'函数来创建新列。'match'以正则表达式作为参数,但允许您捕获输出-因此您可以使用它在字符串中进行模式匹配。在本例中,您可以使用如下命令:
value.match(/.*s+(d{5})s+(.*)/)
这将捕获数组中的5位数和城市:
["75012","Paris"]
然后可以使用它在新列或两个新列中创建所需的值。例如:
value.match(/.*s+(d{5})s+(.*)/)[0]
将获取数字