如何在Java中拆分|(管道)上的字符串
我有一个类似于| serialNo | checkDelta | checkFuture | checkThis |的字符串 现在我使用下面的代码来拆分字符串 String[]splitString=str.split | 但当我使用它时,我会得到一个包含每个字符的字符串数组,而我需要一个包含像serialNo,checkDelta?,checkFuture?,checkthis?这样的字母的字符串如何在Java中拆分|(管道)上的字符串,java,string,split,Java,String,Split,我有一个类似于| serialNo | checkDelta | checkFuture | checkThis |的字符串 现在我使用下面的代码来拆分字符串 String[]splitString=str.split | 但当我使用它时,我会得到一个包含每个字符的字符串数组,而我需要一个包含像serialNo,checkDelta?,checkFuture?,checkthis?这样的字母的字符串 如何得到这些?我遗漏了什么吗?你必须转义你的管道字符以正则表达式作为参数,因此|是: 请注意:结
如何得到这些?我遗漏了什么吗?你必须转义你的管道字符以正则表达式作为参数,因此|是:
请注意:结果数组的开头包含一个空字符串,因为字符串的开头有|。您使用的是一个特殊字符,必须对其进行转义:str.split\\\| 使用StringTokenizer
String str="|serialNo|checkDelta?|checkFuture?|checkThis?|"
StringTokenizer st=new StringTokenizer(str,"|",false);
String s1 = st.nextToken();
String s2 = st.nextToken();
String s3 = st.nextToken();
String s4 = st.nextToken();
s1=序列号
s2=校验增量
s3=检查未来
s4=检查这个
有关StringTokenizer的阅读,请参阅javadocs
+1注意,Metion的一个好消息等价正则表达式的另一种语法是:[|]-管道在字符类中失去了它的意义。
String str="|serialNo|checkDelta?|checkFuture?|checkThis?|"
StringTokenizer st=new StringTokenizer(str,"|",false);
String s1 = st.nextToken();
String s2 = st.nextToken();
String s3 = st.nextToken();
String s4 = st.nextToken();