0

如果我有一个完整的文本块作为 a String,其中包含几个换行符。

例如:System.out.println(myString)将给出:

<http-request>
  <param1>value</param>
  <param2>value</param>
</http-request>

而我想要做的是将整个块的三个制表符空格放在右边......

完成这项工作的最佳方法是什么?

4

2 回答 2

1

没有在代码中尝试过,但听起来 replace(regex, string) 应该可以工作。只需使用 replace("\n", "\n\t\t\t") -> 每个制表符空间一个 \t。

(从 String 的标准库中替换)

于 2011-07-17T16:58:32.147 回答
0

从 java 12 开始,您可以使用 String.indent() 方法。例如

public static void main(String[] args) {
    System.out.println("""
            <http-request>
              <param1>value</param>
              <param2>value</param>
            </http-request>
            """.indent(8));
}

将产生如下输出

        <http-request>
          <param1>value</param>
          <param2>value</param>
        </http-request>
于 2022-02-02T10:25:07.537 回答