web-dev-qa-db-ja.com

Javaで二重引用符を空白に置き換えるにはどうすればよいですか?

例えば:

"I don't like these "double" quotes"

そして、出力が欲しい

I don't like these double quotes
22
angad Soni

String#replace() を使用します。

それらをスペースに置き換えるには(質問のタイトルに従って):

System.out.println("I don't like these \"double\" quotes".replace("\"", " "));

上記は文字でも実行できます。

System.out.println("I don't like these \"double\" quotes".replace('"', ' '));

それらを削除するには(例のとおり):

System.out.println("I don't like these \"double\" quotes".replace("\"", ""));
32
cletus

これには正規表現は必要ありません。文字ごとに置き換えるだけで十分です。これには String#replace() を使用できます。

String replaced = original.replace("\"", " ");

代わりに空の文字列""を使用することもできます。そうしないと、スペースが2倍になります。

String replaced = original.replace("\"", "");
8
BalusC

文字列は不変なので、言う必要があります

sInputString = sInputString("\"","");

=の右側だけではありません

2
IanW

次のようにできます:

string tmp = "Hello 'World'";
tmp.replace("'", "");

しかし、それは一重引用符を置き換えるだけです。二重引用符を置き換えるには、次のように最初にエスケープする必要があります。

string tmp = "Hello, \"World\"";
tmp.replace("\"", "");

スペースに置き換えることも、空のままにすることもできます(空のままにしておくことを望んでいますが、質問のタイトルにはそれ以外の意味があります)。

2
Mike Trpcic