簡體   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