1

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

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

在“拆分为几列”命令中,您会输入什么正则表达式(或者是另一个命令)?

谢谢!

4

1 回答 1

3

“拆分为几列”将正则表达式作为参数指定进行拆分时要使用的分隔符。在这种情况下,这可能不是您需要的 - 因为分隔符没有通用表达式。

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

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

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

["75012","Paris"]

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

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

会得到号码

于 2015-10-19T15:23:17.050 回答