2016-06-26 20 views
2

文字列の部分文字列を置き換えた後、正しい長さの新しい文字列を取得する方法を教えてください。私は文字列の長さを使用し、第1文字列の長さを得た。 すなわち 私の文字列は "abcdefg"で、長さは7です。 "cde"を "z"に置き換えた後、新しい文字列はabzfg(replace allを使用します)であり、文字列長を使用すると新しい文字列の長さは7です。どのような方法でも正しい長さを得ることができますか?Javaで文字列を置き換えた後の文字列の長さ?

+0

コードを表示します。 – Robert

答えて

0

文字列を、このような何かを行うことができ、Javaで不変です。あなたはそれらを変更することはできません。

別のStringを使用するか、StringBuilderを使用する必要があります。

String A = "abcdefg"; 
String B = A.substring(0,2) + 'z' + A.substring(5,6); 

またはStringBuilderの

StringBuilder A = new StringBuilder("abcdefg"); 
A.replace(2,5,"z"); 
2

新しい文字列を新しい変数に保存します。そして、長さをチェックしてください。

String s = a.replace(...); 
int newLength = s.length; 
0

Java文字列は不変です。 http://www.programcreek.com/2013/04/why-string-is-immutable-in-java/

意味は、置換操作の結果を文字列オブジェクトに残す必要があります。

例(機能は直接文字列オブジェクトの実際の内容を変更しない):あなたはあなたのケースで

string s = "abcdefg"; 
s = s.replace("cde", ""); 
System.out.println(s.length); 
0

で私は上記の質問のコードを実行し、それはあなたが書かれていることを確認します。5.すなわち正しい出力、

を生産している: -

str=str.replaceAll("cde","z"); 

str.replaceAll("cde","z"); 

(JavaのStringクラスは不変なので)

関連する問題