好的,所以我有一个字符串让我们说“abcd”。现在我需要能够在某个位置附近放置像[]这样的支撑。例如,如果输入为0(如索引0中),则返回保存“[a] bcd”的字符串,或者如果输入为2,则返回“ab [c] d”。我将如何实现这一点是Java? String类中是否有可以执行此操作的方法?
答案 0 :(得分:3)
您可以使用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();
答案 1 :(得分:1)
myString = new StringBuilder(myString).insert(2, '[').insert(4,']').toString();
StringBuilder是一个很酷的类,有助于使用字符串。它具有insert(int index, char c)
方法,可将给定字符插入指定位置。如图所示,您可以为字符串创建新的StringBuilder
,插入所需的大括号,然后使用toString()
方法将其转换回String。
答案 2 :(得分:1)
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);
答案 3 :(得分:0)
您可以使用StringBuffer
执行此操作。
String st = new String("abcd");
st = new StringBuffer(st).insert(index+1,"]").insert(index, "[").toString();
答案 4 :(得分:0)
浏览StringBuffer。它有这样的方法。