2013-06-27 58 views
0

我有一个原始txt文件,我想对其执行拆分操作。如何拆分“^ A”字符

当我在vim查看数据显示行,如下所示:

col1^Acol2^Acol3^Acol4 

当我尝试和拆分使用^A作为我的分割功能不会对这个字符分割线。

+0

yourString.split(“A \ ^”); – JREN

+0

@JREN不能用Java编译,他说^ A,而不是相反。 – m0skit0

+0

woops:p我的不好意思对不起 – JREN

回答

6

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

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

就是这样! 谢谢 –

+0

@ djc391。如果有效,请接受答案。 :) –

3

您需要转义^,或将其包含在字符类中。它在正则表达式中有特殊的含义。
更可取的是,我不是逃脱的忠实粉丝。所以我尽量避免使用正则表达式。所以,我会在这里使用角色类。所以只要各执:

[^]A 

你也可以逃脱^

\\^A 
+0

或转义'\\^A' – m0skit0

2

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

返回面值模式String指定String

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

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

+0

这没有奏效。仍然不拆分 –

+0

他想要与^ A拆分,而不仅仅是^ – m0skit0

+0

发布您的代码。这应该工作。 – Maroun

1

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

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

+0

你应该逃避\ – jjtang