我现在正在与 Google Refine 合作。我的目标是将一个现有的列拆分为两部分。我正在使用内置的“基于...添加列”功能。该列包含街道名称和对应的门牌号。例如,我有这个:
Stackoverflow Street 89
每一行的结构都相同,这意味着街道名称可以长也可以短,可以包含一个或多个单词,但它总是以(门牌)号码结尾,并且总是用空格分隔。
当我使用 Google Refine 时,我正准备使用 GREL 语句(Google Refine Expression Language)来做到这一点。这个想法是这样的:将除以空格的每个值分成几块。将每个拆分值保存在一个变量中。然后检查特定值是否包含数值(即门牌号)。如果它是一个数值,则取该值并将其转发到输出。我已经得到了这样的东西。
forEach(value.split(" "), v, v).join(";")
这是一个问题:我如何在 forEach 函数中集成一个 IF 函数?如果我知道该怎么做,我可能不仅可以拆分值,还可以检查它是否为数字。要检查它是否为数字,可以使用 isNumeric(value)。
我感谢每一个提示。谢谢,约尔格。