我正在尝试从 C# 移植一些代码,但我遇到了
string.Insert(int startIndex, string value)
并且似乎没有明显的 Java 等价物。谁能帮我解决这个问题以及我能做些什么来解决它。先感谢您。
我正在尝试从 C# 移植一些代码,但我遇到了
string.Insert(int startIndex, string value)
并且似乎没有明显的 Java 等价物。谁能帮我解决这个问题以及我能做些什么来解决它。先感谢您。
尝试这个
str = str.substring(0, startIndex) + value + str.substring(startIndex)
使用 StringBuilder:
String string = "test";
String string2 = new StringBuilder(string).insert(index, value).toString();
一个等价物可能是
String.format("Original %s string", "thing to insert");
它没有指定实际的索引,而是使用格式字符串。在某些情况下哪个更好。否则你必须使用String.substring()
您可以使用 String concat 或 String Buffer
这是使用字符串缓冲区的示例
StringBuffer s1 = new StringBuffer("I am right now.");
// Then, use the insert method, that is:
s1.insert(3, "busy");
操作: I am busy right now.
没有直接的方法,但您可以将字符串转换为 Stringbuffer,然后调用其插入方法。
String x="12345";
StringBuffer b=new StringBuffer(x);
b.insert(5, "hi");
System.out.println(b);
输出
12345hi
您可以尝试使用正则表达式执行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
}