0

我有一个原始 txt 文件,我想对其执行拆分操作。

当我在 vim 中查看数据时,该行显示如下:

col1^Acol2^Acol3^Acol4

当我尝试使用^A拆分函数拆分行时,它不会在此字符上拆分。

4

4 回答 4

6

在 vi(m)^A或 Ctrl-A 中是 \u0001.

String[] words = line.split("\u0001");
于 2013-06-27T14:05:05.940 回答
4

您需要 escape ^,或将其包含在字符类中。它在正则表达式中具有特殊含义。
最好,我不是逃避的忠实粉丝。所以我尽量在正则表达式中避免它。所以,在这里我将使用字符类。所以只是分裂:

[^]A 

您还可以转义^

\\^A
于 2013-06-27T14:01:08.500 回答
2

您可以使用public static String quote(String s)

返回指定字符串的文字模式字符串

myString.split(Pattern.quote("^A"));

因为^是一个特殊字符,并且String#split接受一个正则表达式

于 2013-06-27T14:03:22.640 回答
1

在 vi(m) 中,^A 或 Ctrl-A 是 \u0001。

String[] words = line.split("\\u0001");

于 2018-01-09T10:29:49.683 回答