为字母表打开 Refine 正则表达式

Open Refine regex for alphabets

我只想编辑我单元格中的字母字符 . 我做了什么

value.match(/.*?(\^[a-zA-Z]*$).*?/)

但它 returns 无效

我正在尝试清理我的数据集中的地址列,以下是示例地址

H3656 GALI#4 BLOCK-D, AREA 1

H#36/17 扇区 5D 区域 2

AREA 3 BLOCK-B NORTH NAZIMABAD

GERMANY AL ​​JANNAT BENQUET SECTOR 16 Area 2 with short name

所以我首先尝试从我的字符串中删除所有数字

如果要去掉所有的数字,最直接的做法大概是:

value.replace(/\d+/, "")

如果出于任何原因您只想查找问题标题所示的字母字符,这将比 value.match() 更有效:

value.find(/\p{L}\s?/).join("")

(\p{L} 是一个 Java regular expression - Openrefine 是用 Java 编写的 - 相当于 [a-zA-Z],但它也考虑了 Unicode 字符,如重音字母.)

一般来说,您应该 avoid using the .match() method 除非您确切地知道自己在做什么。在 90% 的情况下,实际上需要 .find()