[英]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.