我如何添加一个线串入的主要字符串。主要字符串包含多行文本。我想一个新的行添加到第三行和向后推的主要字符串的其余部分。
直接串联是写这个最简单的方法:
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();
分成列表,插入到列表中,然后加入列表。
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())
您可以使用String.format
。
String main = "line1\nline2\n%sline4";
String sub = "line3\n";
String result = String.format(main, sub);