如何在Java中的某个位置替换字符串中的字符?

如何在Java中的某个位置替换字符串中的字符?,java,string,indexing,char,Java,String,Indexing,Char,好的,我有一个字符串,让我们说“abcd”。现在我需要能够在某个位置放置像这样的支架[]。例如,如果输入为0(如索引0),则返回一个包含“[a]bcd”的字符串;如果输入为2,则返回“ab[c]d”。我将如何实现这是Java?String类中已经有方法可以执行此操作了吗?您可以使用StringBuilder轻松地执行此操作: // Note that this will need to copy things *twice*, which may be less // efficient tha

好的,我有一个字符串,让我们说“abcd”。现在我需要能够在某个位置放置像这样的支架[]。例如,如果输入为0(如索引0),则返回一个包含“[a]bcd”的字符串;如果输入为2,则返回“ab[c]d”。我将如何实现这是Java?String类中已经有方法可以执行此操作了吗?

您可以使用
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();

使用
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();

您可以使用
StringBuffer
来执行此操作

String st = new String("abcd");
st = new StringBuffer(st).insert(index+1,"]").insert(index, "[").toString();

myString=newstringbuilder(myString).insert(2',[').insert(4',]).toString()


StringBuilder是一个很酷的类,可以帮助处理字符串。它有
insert(int index,char c)
方法将给定的字符插入到指定的位置。如图所示,您可以为字符串创建一个新的
StringBuilder
,插入所需的大括号,然后使用
toString()
方法将其转换回字符串。

myString=new StringBuilder(myString).insert(2',[').insert(4',]).toString()

StringBuilder是一个很酷的类,可以帮助处理字符串。它有
insert(int index,char c)
方法将给定的字符插入到指定的位置。如图所示,您可以为您的字符串创建一个新的
StringBuilder
,插入所需的大括号,然后使用
toString()
方法将其转换回字符串。

。它有这样的方法。

通过。它有这样的方法。

String类中有一个方法可以做到这一点。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);
String类中有一个方法可以执行此操作。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);

查看方法子字符串,然后发布您尝试的代码@mindandmedia子字符串方法对作者没有帮助。重新思考.str.substring(0,输入)+“[”+str.substring(输入,1)+“]”+str.substring(输入+1)??我甚至觉得这是最可读的,有什么问题,我没有一个编译器可以工作,但我认为substring()的不同参数可能会让读者感到困惑。有一点是错误的:这将实例化许多字符串。查看方法substring,然后发布您尝试的代码@mindandmedia子字符串方法对作者没有帮助。重新思考.str.substring(0,输入)+“[”+str.substring(输入,1)+“]”+str.substring(输入+1)??我甚至觉得这是最可读的,有什么问题,我没有一个编译器可以工作,但我认为substring()的不同参数可能会让读者感到困惑。有一点是错误的:这将实例化许多字符串。这将替换同一个字符的任何出现,而OP只希望替换特定点上的单个匹配项。这将替换相同字符的任何匹配项,而OP只希望替换特定点上的单个匹配项。