Java String.split不使用分隔符的组合{^

Java String.split不使用分隔符的组合{^,java,regex,Java,Regex,我正试着用两个字母的组合来拆分字符串{^ 如何使用分隔符组合来拆分字符串 样本数据为: String str = "0002{^000000000000001157{^000006206210015461{^PR{^ID{^62499{^"; java中的split方法将正则表达式作为输入 因此,如果要使用“{”和“^”拆分字符串,则需要执行以下操作: String str = "0002{^000000000000001157{^000006206210015461{^PR{^ID{^624

我正试着用两个字母的组合来拆分字符串{^

如何使用分隔符组合来拆分字符串

样本数据为:

String str = "0002{^000000000000001157{^000006206210015461{^PR{^ID{^62499{^";

java中的split方法将正则表达式作为输入

因此,如果要使用“{”和“^”拆分字符串,则需要执行以下操作:

String str = "0002{^000000000000001157{^000006206210015461{^PR{^ID{^62499{^";

String[] splitted = str.split("\\{\\^");  //note \\ before { and ^
传递给String.split的分隔符是正则表达式。由于{和^是正则表达式中具有特殊含义的字符,如果要将它们用作文本,则需要对其进行转义:

String[] tokens = str.split("\\{\\^");
在split语句中必须转义{和^,因为它们在正则表达式中都是特殊字符:

s.split("\\{\\^");

你试了什么?str分裂了吗\\{\\^not work?对不起,我写了几乎相同的答案,但相差几秒钟。不过,你的答案比我的先到,所以我要投票了。@Magnamag lol atcually你的答案似乎比我早1分钟。希望你不要难过,巴德:谢谢@Jens。我有一个带分隔符^a\001的字符串。当我尝试使用s.split\\^a分割字符串时我在linux环境中获取整个字符串。因为当我使用Cat命令查看文件时,我看不到分隔符,但是当我使用Cat-A文件名时,我可以看到^A分隔符在那里。请帮助我。@Shankar ^A是一个控制字符。注意,这是一个字符!!请参阅,感谢提供的信息。。您能告诉我如何放置该字符吗r在属性文件中,目前我尝试使用^A-这是两个字符,这就是它失败的原因。@Shankar,正如您在链接中看到的:只需按Ctrl-v Ctrl-aIn java,我像s.split\u0001一样处理它,它正在工作。。谢谢@Jens