2

文字列内のすべてのバックスラッシュをJavaを使用してスラッシュを転送するように変更する単純なコードを探しています。

私はこれを試しました:word.replaceAll( "\"、 "/");

しかし、それは機能しません。誰かがこれを簡単に修正できますか?

ありがとう

PSまた、文字列操作がほとんど機能していないことに気づきました。toUpperCase()のようなものを試しましたが、文字列に何も起こりませんでしたか?!?

4

5 に答える 5

4

replaceAll()は、正規表現を使用して照合するため、この場合に使用するのは間違った方法です。

replace()リテラルを置き換えるより単純なメソッドが必要です。これを試して:

word = word.replace("\\","/");

ノート:

  1. 別のバックスラッシュでバックスラッシュをエスケープする必要があります。つまり"\\"、単一のバックスラッシュである文字列をコーディングする方法です。
  2. 文字列は不変です-文字列メソッドは結果とともに新しい文字列を返します...文字列を変更しません。そのため、次のようにコーディングする必要がありますmyString = myString.someMethod();
于 2011-12-09T00:18:07.367 に答える
4

関数は、文字列自体を変更するのではなく、実装しようとしている変更を含む新しい文字列を返します。エスケープされたスラッシュを使用する必要がある\場合(\\

于 2011-12-09T00:15:49.393 に答える
1

文字列は不変です。
彼らは決して変わることはできません。

あなたは書く必要がありますword = word.something()

于 2011-12-09T00:19:53.880 に答える
1

あなたがする必要があるのはword=word.replaceAll( "\"、 "/");です。

文字列は変更できないことを知っておく必要があります。

これらのメソッドは、文字列の文字を繰り返し処理し、すべてのバックラッシュをスラッシュに置き換えることで機能します

于 2011-12-09T00:33:58.287 に答える
1

この場合、以下を使用する必要があります。

word.replaceAll(("\\", "/");

toUpperCase() 文字列を返しますが、メソッドを呼び出す文字列は変更されません。

http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html

于 2011-12-09T00:17:27.750 に答える