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