将一个字符串插入另一个字符串

时间:2019-02-03 19:50:54

标签: java

如何在主字符串中添加一行字符串。主字符串包含多行文本。我想在第三行添加新行,然后向后推主要String的其余部分。

3 个答案:

答案 0 :(得分:4)

直接串联是编写此代码的最简单方法:

string = string.substring(0, position) + newData + string.substring(position);

其中position是您想插入数据的位置,例如使用indexOf

int position = -1;
for (int i = 0; i < 3; ++i) {
  position = string.indexOf('\n', position + 1);
}

直接连接的替代方法:

string = new StringBuilder(string)
    .insert(position, newData)
    .toString();

或(可能更有效 ):

string = new StringBuilder(string.length() + newData.length())
    .append(string, 0, position)
    .append(newData)
    .append(string, position, string.length())
    .toString();

答案 1 :(得分:0)

分为列表,插入列表,然后加入列表。

List<String> lines = new ArrayList(string.split('\n'))
lines.add(2, newLine)
String newString = lines.join('\n')

获取第三行的位置,然后使用substring

string.substring(0, insertPos) + '\n' + newString +  string.substring(insertPos, string.length())

答案 2 :(得分:-1)

您可以使用String.format

String main = "line1\nline2\n%sline4";
String sub = "line3\n";
String result = String.format(main, sub);