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