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

时间:2015-10-19 14:14:40

标签: regex openrefine

我是OpenRefine和GREL的新手。 在地址行中,我试图提取城市和邮政编码。 该行通常包含:12 rue du Paradis 75012 Paris

我想从5位数字(75012)开始分割这一行。之后,我可以轻松地提取城市。

在命令“拆分成几列”中,你会放置什么正则表达式(或者是另一个命令)?

谢谢!

1 个答案:

答案 0 :(得分:3)

&#39>分为几列'将正则表达式作为参数来指定执行拆分时要使用的分隔符。在这种情况下,这可能不是您所需要的 - 因为没有分隔符的公共表达式。

相反,您可能会更好地使用基于此列的"添加列"选项然后使用匹配'用于创建新列的函数。 '匹配'将正则表达式作为参数,但允许您捕获输出 - 因此您可以使用它来在字符串中进行模式匹配。在这种情况下,例如你可以使用类似的东西:

value.match(/.*\s+(\d{5})\s+(.*)/)

这将捕获5位数字和数组中的城市:

["75012","Paris"]

然后,您可以使用它在新列或两个新列中创建所需的值。 E.g:

value.match(/.*\s+(\d{5})\s+(.*)/)[0]

将获得数字