我有一个像|serialNo|checkDelta?|checkFuture?|checkThis?|
这样的字符串。
现在我使用以下代码拆分字符串。
String[] splitString = str.split("|");
但是当我使用它时,我得到包含每个字符的字符串数组,而我需要包含serialNo
,checkDelta?
,checkFuture?
,{{1}等字母的字符串}。
如何获得这些?我错过了什么吗?
答案 0 :(得分:15)
你必须转义管道字符(split将正则表达式作为参数,因此“|”是control character):
str.split("\\|");
请注意:结果数组在开头包含一个空字符串,因为你有“|”在你的字符串的开头。
答案 1 :(得分:3)
您正在使用特殊角色,必须逃脱它:str.split("\\|");
答案 2 :(得分:0)
使用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 =的SerialNo
S2 = checkDelta?
S3 = checkFuture?
S4 = checkThis?
请参阅javadocs以了解有关StringTokenizer的信息
http://download.oracle.com/javase/1.4.2/docs/api/java/util/StringTokenizer.html