2013-02-16 115 views
1

我想刪除字符串中的所有句號(。)。Java:刪除字符串中的句號

因此,我嘗試過:inpt = inpt.replaceAll(".", "");, 但不刪除只有完整的停止,它刪除字符串的整個內容。

是否可以只刪除滿座?謝謝您的回答!

+5

將''。「'改爲'」\\。「' – Maroun 2013-02-16 10:10:59

回答

15

replaceAll將正則表達式作爲參數,而正則表達式中的.表示「任何字符」。

您可以使用replace代替:

inpt = inpt.replace(".", ""); 

它將刪除的.所有出現。

7

不要使用replaceAll(),使用replace()

inpt = inpt.replace(".", ""); 

這是一個普遍的誤解,認爲replace()不全部替換,因爲有一個replaceAll()方法,但實際上全部替換。這兩種方法之間的區別在於,replaceAll()匹配正則表達式(正則表達式中的某個點表示「任何字符」,這解釋了您正在經歷的情況),而replace()與文字字符串匹配。

6

String#replaceAll(String, String)需要一個正則表達式。點是一個正則表達式元字符,可以匹配任何東西。

使用

inpt = inpt.replace(".", ""); 

它也將取代您的每一個點,而是將第一個參數作爲文字序列,見JavaDoc

如果你想堅持到正則表達式,你必須逃脫點:

inpt = inpt.replaceAll("\\.", ""); 
+0

這很好。好答案。 – Ruthwik 2016-03-15 05:13:15

1

我認爲你必須屏蔽點

inpt = inpt.replaceAll("\\.", ""); 
0

replaceAll使用正則表達式,請使用以下:

inpt = inpt.replaceAll("\\.", "") 
+0

更新後,應該是\\。 – Joe 2013-02-16 10:18:02