我有一个原始 txt 文件,我想对其执行拆分操作。
当我在 vim 中查看数据时,该行显示如下:
col1^Acol2^Acol3^Acol4
当我尝试使用^A
拆分函数拆分行时,它不会在此字符上拆分。
在 vi(m)^A
或 Ctrl-A 中是 \u0001
.
String[] words = line.split("\u0001");
您需要 escape ^
,或将其包含在字符类中。它在正则表达式中具有特殊含义。
最好,我不是逃避的忠实粉丝。所以我尽量在正则表达式中避免它。所以,在这里我将使用字符类。所以只是分裂:
[^]A
您还可以转义^
:
\\^A
您可以使用public static String quote(String s):
返回指定字符串的文字模式字符串
myString.split(Pattern.quote("^A"));
因为^
是一个特殊字符,并且String#split接受一个正则表达式。
在 vi(m) 中,^A 或 Ctrl-A 是 \u0001。
String[] words = line.split("\\u0001");