有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!


共 (3) 个答案

  1. # 1 楼答案

    你可以使用String.format

    String main = "line1\nline2\n%sline4";
    String sub = "line3\n";
    String result = String.format(main, sub);
    
  2. # 2 楼答案

    直接连接是编写以下内容的最简单方法:

    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();
    
  3. # 3 楼答案

    拆分成一个列表,插入列表,然后加入列表

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