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