我有例如這樣的:在Java中我如何將「空格和點」替換爲「點」?
"hello . world . thanks ."
,我想會得到:
"hello. world. thanks."
我有嘗試
text = text.replaceAll(" .",".");
text = text.replaceAll(" \\.",".");
text = text.replaceAll(" \\.","\\.");
但doesn't工作。任何解決方案
謝謝所有
我有例如這樣的:在Java中我如何將「空格和點」替換爲「點」?
"hello . world . thanks ."
,我想會得到:
"hello. world. thanks."
我有嘗試
text = text.replaceAll(" .",".");
text = text.replaceAll(" \\.",".");
text = text.replaceAll(" \\.","\\.");
但doesn't工作。任何解決方案
謝謝所有
replaceAll
使用正則表達式進行第一次爭論。如果你想要一些非常簡單的東西(如給出的例子,假設你的實際問題並不複雜),你可以使用replace
。
text = text.replace(" .", ".");
你的第二種方法應該已經工作。
我猜你可能有1對多的空間或製表符.
。在你需要使用+
量詞來匹配1對多的空間,案前,如果你有他們
text = text.replaceAll("\\s+[.]",".");
由於.
有特殊的意義在正則表達式,你需要使用\\.
或[.]
逃吧這將治療.
字面上
\s
類似於[ \t\r\n]
我建議你不要用String.replaceAll
開始。你不需要這裏需要正則表達式,所以爲什麼要讓自己更難?改爲使用String.replace
。
text = text.replace(" .", ".");
什麼,當你嘗試你? –
請注意,在正則表達式中'[。]'(只包含句點的字符類)消除了'.'的通配符含義,而不需要「轉義」。另外,重置值不是*正則表達式(但[有其他規則](http://docs.oracle.com/javase/6/docs/api/java/util/regex/Matcher.html#的replaceAll(java.lang.String中)))。 – user2246674
您的第二條線適合我:''你好,世界。謝謝。「。replaceAll(」\\。「,」。「);' – micha