さて、私は文字列を "abcd"と言います。今私はこのようなブラケットを特定の場所の周りに置くことができる必要があります。たとえば、入力が0(インデックス0の場合)の場合、 "[a] bcd"を保持するStringを返します。入力が2の場合、 "ab [c] d"を返します。これを実装するにはどうすればJavaですか?既にこれを行うことができるStringクラスのメソッドがありますか?Javaの特定の場所にある文字列の文字を置き換えるにはどうすればよいですか?
答えて
あなたはStringBuilder
で簡単にこれを行うことができます。
// Note that this will need to copy things *twice*, which may be less
// efficient than just calling replace once, but it's cleaner
StringBuilder builder = new StringBuilder(text);
builder.insert(index + 1, ']');
builder.insert(index, '[');
String newText = builder.toString();
あなたがこれを行うにはStringBuffer
を使用することができます。
String st = new String("abcd");
st = new StringBuffer(st).insert(index+1,"]").insert(index, "[").toString();
新しい??新しい? – Gevorg
@Gevorgはい!ありがとう:) –
myString = new StringBuilder(myString).insert(2, '[').insert(4,']').toString();
のStringBuilderは文字列で作業するのに役立ちますクールなクラスです。与えられた文字を指定された場所に挿入する方法はinsert(int index, char c)
です。示されているように、文字列に新しいStringBuilder
を作成し、必要な中カッコを挿入し、toString()
メソッドを使用して文字列に戻すことができます。
StringBuffer経由。それはそのような方法を持っています。
Stringクラスにはreplaceメソッドがあります。 StringBufferとStringBufferには、これらのメソッドもあります。
int index = 0;
String input = "abcd";
//System.out.println(Character.toString(input.charAt(index)));
//System.out.println("["+input.charAt(index)+"]");
String output = input.replace(Character.toString(input.charAt(index)), "["+input.charAt(index)+"]");
System.out.println(output);
これは同じ文字の任意のオカレンスを置き換えますが、OPは特定のポイントで単一のオカレンスを置き換えたいだけです。 –
- 1. viで文字列を特殊文字に置き換えるにはどうすればよいですか?
- 2. Javaの文字列の文字を置き換えるにはどうすればいいですか?
- 3. 特定の文字の前に文字列の部分文字列を置き換えるにはどうすればよいですか?
- 4. data-attributeの特定の文字列を置き換えるにはどうすればよいですか?
- 5. Java:文字列内の特定の文字をインデックスに置き換えます。
- 6. 文字列のUnicode文字をPythonに置き換えるにはどうすればいいですか?
- 7. 文字列を文字列に置き換えるにはどうすればいいですか?
- 8. 文字列、Javaの特定の文字の後に文字/文字を置き換えます。
- 9. Java:特定の文字をインデックスの文字列の部分文字列に置き換えます。
- 10. Python:文字列を置き換えずに2つの文字列間のすべてを置き換えるにはどうすればいいですか?
- 11. 文字列全体ではなく、文字列の特定の部分を置き換えるにはどうすればよいですか?
- 12. javaの文字列の特定の文字を置き換えるにはどうすればいいですか?
- 13. 文字列内の文字列を特殊文字に置き換える
- 14. XSLT/FOで文字をグラフィック(絵文字)に置き換えるにはどうすればよいですか?
- 15. 別の特定の文字の前にある特定の文字を削除するにはどうすればよいですか?文字列で
- 16. テキスト文字列PHPからアドレスの場所を特定するにはどうすればよいですか?
- 17. 文字列内である文字を別の文字に置き換えたり、逆の文字を文字列に置き換えたりします。
- 18. タプルの文字列とその置換えを使用してリスト内の文字列を置き換えるにはどうすればいいですか?
- 19. 特定の部分文字列が存在する場合は文字列を置き換えますか?
- 20. Java regexは文字列を特殊文字に置き換えます
- 21. ループで動作する別の文字列の特定の場所に文字列を挿入するにはどうすればよいですか?
- 22. 文字列に特殊文字を置き換えます。
- 23. 文字列を特殊文字用に置き換えます。
- 24. データフレーム内の値をRの文字列に置き換えるにはどうすればよいですか?
- 25. 文字列内の特定の文字列を削除するにはどうすればよいですか?
- 26. 単語の文字間の単語以外の文字をRegExに置き換えて置き換えるにはどうすればよいですか?
- 27. ある文字列の特定の文字を同じインデックスの別の文字の文字とエレガントに置き換える方法はありますか?
- 28. ハスケルは文字列の特定の文字を置き換えます
- 29. C#で文字列内のスペースをアンダースコアに置き換えるにはどうすればよいですか?
- 30. 特定の文字列をテキストファイルに置き換えます。
メソッドの部分文字列を見てから、試したコードを投稿してください。 http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html – mindandmedia
@mindandmedia部分文字列メソッドは、作成者を助けません。再考する。 – sgowd
str.substring(0、input)+ "[" + str.substring(入力、1)+ "]" + str.substring(入力+ 1); ??私はこれが最も読みやすい、何が間違っているのかを知っています。私はコンパイラを持っていません。 – mindandmedia