2011-09-09 6 views

答えて

3

使用String.replace():。

if (str.contains("\\")) { 
    str = str.replace("\\", "\\\\"); 
} 

String.replaceAll()も使用できますが、正規表現が使用されているため、そのような場合は遅くなります。

UPDATE:

String.replace()の実装も同様に、正規表現に基づいていますが、Pattern.LITERALモードでコンパイルされています。ホ

+0

はSTR \ – subodh

+1

@subodhが含まれているが、私はチェックを実行します。 'もし(str.contains( "\\") ) 'は' str'に '\'が含まれているかどうかをチェックします。しかし、それは冗長です。あなたは単に 'str = str.replace(" \\ "、" \\\\ ");'を呼び出すことができます。置換するものがない場合に備えて、元の文字列(のコピー)で終わるでしょう。 –

+0

チェックをする必要はありません。:) – dacwe

0

str.contains("\"")は「それらを持っている文字列に一致しますが、おそらく欲しい

がさらにstr.replaceAll("\\", "\\\\")

である;それはあなたがstr.contains("\\")を必要とするだろう\が含まれている場合は、\いるので、チェックするための特殊文字がありますそれはエスケープする必要があり

0

これを試してみて、

String newString = oldString.replace("/", "//"); 

またはパターン法を試し、

Pattern pattern = Pattern.compile("/"); 
Matcher matcher = pattern.matcher("abc/xyz"); 
String output = matcher.replaceAll("//"); 
関連する問題