OpenRefine:基于5个数字(邮政编码)的字符串分割单元格



我是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]

将获取数字

最新更新