2016-07-06 9 views
1

ドットを空白で囲む/先行する/後に非数字を付ける場合はドットを置き換え、囲まれた/先行する/後に数字がある場合は何もしません。ドットで正規表現を構築する

たとえば、文字列「私は合計4.4回、合計2回走った」 "私は合計4.4キロを2回走った"となります

この正規表現の作成には、助けが必要です。私はこれを使用しています:

string.replaceAll("[D].", "[D]") 

と多くの点だけを取得しています。

答えて

1

あなたは

System.out.println(Str.replaceAll("(?<=\\D)\\.(?=\\D|$)", "")); 

正規表現の説明のように先読みしてlookbehindsを使用することができます

(?<=\\D) #Lookbehind to match non-digit 
\\. #Match . literally 
(?=\\D|$) #Lookahead to match non-digit or end of string 
関連する問題