2017-04-21 5 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'sreplaceAll方法のjavadoc。

+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

関連する問題