我正在尝试使用 Openrefine 从整个字段中提取文本字符串。这是我的数据集的摘录:
172. D3B: 23Y1-Up, 27Y1-Up (36 LK) 6-S/F Rollers, 4-D/F Rollers, 2-Carrier Rollers
179. D3C: 23Y2508-UP (37LK) 6-S/F, 4-D/F, 2-T/C
180. 27Y5050-UP (37LK) 6-S/F, 4-D/F, 2-T/C
181. 2XF622-UP (37LK) 6-S/F, 4-D/F, 2-T/C
182. 3RF0147-UP (36LK) 6-S/F, 4-D/F, 2-T/C
200. D4D:67A1-UP, 78A1-UP, 85A1-UP, 86A1-UP, 59J1-644, 58J1-UP, 49J1-473, 22C1-UP, 91A1-UP, 88A1-UP
我想23Y1-Up, 27Y1-Up
从记录 172、
23Y2508-UP
记录 179、27Y5050-UP
记录 180 和整个67A1-UP, 78A1-UP, 85A1-UP, 86A1-UP, 59J1-644, 58J1-UP, 49J1-473, 22C1-UP, 91A1-UP, 88A1-UP
记录 200 中提取
所以基本上规则是提取:
如果存在和(
如果存在之间的所有内容。也许将其限制在字符串出现一次或多次的地方UP
所以我正在使用 value.match 基于现有列添加一个新列。我试图使一些查询适应我的范围,但尽管多次尝试,我离成功还很远。我从这个正则表达式开始 value.match(/\:?\s*(\w+\.?)+?.*/)[0]
,我认为它会在分号(和空格)之后隔离任何单词,但它只适用于之前的单词......昨天我成功提取了 LK 之前的数字,这也是我的数据集的相关信息,但是我无法理解这一点。
任何帮助深表感谢!谢谢