编辑 :原始字符串文字已从JDK 12中删除,但我将保留此问题,并在重新引入原始字符串文字时对其进行相应编辑。
在测试原始字符串文本(Java 12中的预览功能)时,我遇到了以下代码片段:
System.out.println(` Test 1 Test 2 Test 3 `);
其输出如下:
 Test 1 Test 2 Test 3 Â
但是,我希望输出类似于以下内容:
Test 1 Test 2 Test 3
删除前导缩进以匹配预期格式的最简单方法是什么?
在Java12中,伴随原始字符串文本作为预览功能的是将添加到 java.lang.String ,其中一个是 String#align .其文件说明如下:
java.lang.String
String#align
从屏幕周围移除垂直和水平空白 多行字符串的基本体,同时保留相对 缩进。 ... 对于每个非空行, 闵 主要的空白字符是 远离的。每个空白字符都被视为单个字符。在里面 特别是制表符 "\t" (U+0009)被视为 单一字符;它没有扩大。 删除前导和尾随空行(如果有)。尾随空格是 保存。 每行都有一个换行符作为后缀 "\n" (U+000A)。
从屏幕周围移除垂直和水平空白 多行字符串的基本体,同时保留相对 缩进。
...
对于每个非空行, 闵 主要的空白字符是 远离的。每个空白字符都被视为单个字符。在里面 特别是制表符 "\t" (U+0009)被视为 单一字符;它没有扩大。
"\t"
删除前导和尾随空行(如果有)。尾随空格是 保存。
每行都有一个换行符作为后缀 "\n" (U+000A)。
"\n"
要使用此方法,我们可以将代码更改为以下内容:
System.out.println(` Test 1 Test 2 Test 3 `.align());
输出以下内容(如文档所述,后缀为换行符):