javaを使用して文字列のすべてのバックスラッシュをスラッシュに変更する簡単なコードを探しています。"/"を "/"に変更する
私はこれを試しました: word.replaceAll( "\"、 "/");
でも動作しません。これは誰でも簡単に修正できますか?
ありがとう
P.S. また、私の文字列演算がほとんど機能していないことに気がつきました。 toUpperCase()のようなものを試してみましたが、文字列に何も起こりませんでしたか?
javaを使用して文字列のすべてのバックスラッシュをスラッシュに変更する簡単なコードを探しています。"/"を "/"に変更する
私はこれを試しました: word.replaceAll( "\"、 "/");
でも動作しません。これは誰でも簡単に修正できますか?
ありがとう
P.S. また、私の文字列演算がほとんど機能していないことに気がつきました。 toUpperCase()のようなものを試してみましたが、文字列に何も起こりませんでしたか?
replaceAll()
それが一致するregular expressionsを使用しているため、この場合には、使用する間違っ方法です。
リテラルを置き換えるより簡単なreplace()
メソッドが必要です。これを試してみてください:
word = word.replace("\\","/");
注:
"\\"
あなたは、単一のバックスラッシュmyString = myString.someMethod();
関数は、文字列自体を変更しないように、実装しようとしている変更を含む新しい文字列を返します。あなたが使用する必要があります。この場合、エスケープスラッシュ(\\
)
申し訳ありませんが、私は元の質問に入力する意味なので、私が使用した関数は:word.replaceAll( "\\"、 "/"); – intA
を使用する必要があります\
場合:
word.replaceAll(("\\", "/");
toUpperCase()
戻り文字列、それは呼び出し元の文字列を変更しません。方法。
http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html
ああ!それは私が信じている私の問題です。私は単語= word.replaceAll( "\\"、 "/")ありがとう! – intA
文字列は不変あるようにそれをコーディングする必要がある理由です。
変更できません。
word = word.something()
とする必要があります。
あなたがする必要があるのは、word = word.replaceAll( "\"、 "/")です。
文字列を変更できないことを知っておく必要があります。
これらのメソッドは、それが変わることはありませんので、Stringクラスは不変である文字列の文字を反復処理し、
スラッシュですべてのバックラッシュを交換することによって動作します。変更が加えられたときに常に新しいコピーが返されます。 –