2017-04-21 44 views
-3

空字符串我有一個像ABCDEF?'JHUGY?'JHGH'GFTF'沒有取代全部?'在Java

我想只有進入串替換所有?'的字符串。

輸出應該是這樣的

ABCDEFJHUGYJHGH'GFTF' 

我已經試過像代替,並用,但其沒有得到刪除全部替換,以及所有的組合。

有什麼建議嗎?

+0

哪裏是你的代碼相匹配的每個子? – Reimeus

+2

「我試過所有的組合,如替換和替換,但它沒有被刪除。」 - 請提供[mcve]。如果我們看不到您的代碼,我們無法分辨您做錯了什麼。 –

+0

你是否逃過了問號? –

回答

2

您需要使用String類和replaceAll方法和逃生regex?,例如:

String s = "ABCDEF?'JHUGY?'JHGH'GFTF'"; 
System.out.println(s.replaceAll("\\?'", "")); 

Here's的javadoc replaceAll方法。

+1

不應該是第一句話:「您可以使用不恰當的方法替換字符串,並且需要糾正您的搜索字符串,由於那個不好的選擇」? – Tom

1

你並不需要一個正則表達式,所以不要使用replaceAll

result = input.replace("?'", ""); 
0
public static void main(String []args){ 
     System.out.println(new String("ABCDEF?'JHUGY?'JHGH'GFTF'").replaceAll("\\?","")); 
    } 

嘗試。你需要逃脫?因爲它在正則表達式語法中有特殊的含義。

public String replaceAll(String regex, 
       String replacement) 

替換此字符串給定的正則表達式與給定替換

+1

我不明白爲什麼人們試圖修正它們的模式來匹配正則表達式規則,而不是僅僅使用'replace'。會有太大意義嗎? – Tom