如何在主字符串中添加一行字符串。主字符串包含多行文本。我想在第三行添加新行,然后向后推主要String的其余部分。
答案 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);