繁体   English   中英

仅匹配字符串REGEX中的字母字符

[英]Match only letter characters in a string REGEX

我正在尝试从文件中清除一些数据。 有一个“名称”列,其中包含带有名称的字符串,其中一些包含符号lile“ /”,“ @”,而另一些包含破折号(-)或“。”。 划线和点是允许的,应保留。

例如:Gustav Mag $ nus Oswald,克莱门特·弗莱维勒·福斯特·克拉茨先生

结果:
古斯塔夫·马格努斯·奥斯瓦尔德(Gustav Magnus Oswald)先生,克莱门特·弗莱维(Clement Fleevle Fust-Kratz)

到目前为止,我已经提出了: [^a-zA-Z ]+但是它不起作用。

我尝试匹配3个单词- ^[a-zA-Z0-9_ ]+( [a-zA-Z0-9_ ])+( [a-Za-Z0-9_ ]) *$

我想念什么?

那么编写这样的代码呢?

String name = "Gustav M@g$nus Oswald"; // this name comes from your data source
String cleansedName = name.replace("$", "s").replace("@", "a");

那么,包含不可替换的,不允许的字符的字符串应该怎么办?

尝试类似

String name="Gustav Mag$nus Oswald , Mr. Clement Fleevle Fust-Kratz";
String newString = name.replaceAll("[^a-zA-Zs+,-]{1,}"," ").replaceAll("\\s{1,}"," ");
System.out.println(newString);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM