我正在尝试从C#移植一些代码,而且我遇到了
string.Insert(int startIndex, string value)
并且似乎没有明显的Java等价物。谁能帮助我解决这个问题以及我能做些什么来解决它。提前谢谢。
答案 0 :(得分:3)
试试这个
str = str.substring(0, startIndex) + value + str.substring(startIndex)
答案 1 :(得分:3)
使用StringBuilder:
String string = "test";
String string2 = new StringBuilder(string).insert(index, value).toString();
答案 2 :(得分:0)
等效可能是
String.format("Original %s string", "thing to insert");
它不指定实际索引,而是使用格式字符串。在某些情况下哪个更好。否则你必须使用String.substring()
答案 3 :(得分:0)
您可以使用String concat或String Buffer
以下是使用字符串缓冲区
的示例 StringBuffer s1 = new StringBuffer("I am right now.");
// Then, use the insert method, that is:
s1.insert(3, "busy");
OP: I am busy right now.
答案 4 :(得分:0)
没有直接的方法,但您可以将字符串转换为Stringbuffer,然后调用其insert方法。
String x="12345";
StringBuffer b=new StringBuffer(x);
b.insert(5, "hi");
System.out.println(b);
<强>输出强>
12345hi
答案 5 :(得分:0)
您可以尝试使用正则表达式执行ReplaceAll,它有点铮铮但是它可以完成任务:
public static void main(String args[]) {
String original = "abcdefg";
int position = 3;
String inserted = "123";
String newString = original.replaceFirst("^(.{" + position + "})", "$1" + inserted);
System.out.println(newString); // abc123defg
}