O(n)
の別の文字列内の指定された文字列(文字列だけではありません)内のすべての文字を削除するようにコードを変更するにはどうすればよいですか?他のデータ構造を使用すると助けになる場合もあります。指定された文字列からすべての文字を削除する
public static String removeChar(String s, char ch){
StringBuilder sb= new StringBuilder();
char[] charArray= s.toCharArray();
for (int i=0; i<charArray.length; i++){
if (charArray[i]!=ch) {
sb.append(charArray[i]);
}
}
return sb.toString();
}
これは高速ですか?
UPDATE:私はあなたがString.indexOf(int)
とch
間隔の各部分を追加するためのループを使用することができ、String
の各文字を反復むしろ、その後removeAllCharsInSecondStringFromFirstString(String S1, String S2)
あなたはそれを自分で実装する必要がありますか? 'newStr = origStr.replaceAll(" [abcde] * "、" ")'私にはかなり魅力的です... –
私はそれを自分で実装して練習するのが好きです。私は 'replaceAll'を見た –
Guavaの[' CharMatcher'](http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/base/CharMatcher.html)クラスはこの種のクラスにとって優れていますものの、同様に。 – dimo414