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

问题描述 投票:-1回答:3

我如何添加一个线串入的主要字符串。主要字符串包含多行文本。我想一个新的行添加到第三行和向后推的主要字符串的其余部分。

java
3个回答
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();

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())

-1
投票

您可以使用String.format

String main = "line1\nline2\n%sline4";
String sub = "line3\n";
String result = String.format(main, sub);
© www.soinside.com 2019 - 2024. All rights reserved.