我遇到的问题是split method字符串不能与字符" |"作为一个论点。它以某种方式分隔字符串中的每个字符。
代码:
self.b3 = tk.Button(self, ...)
self.b4 = tk.Button(self, ...)
self.b5 = tk.Button(self, ...)
输出:
String[] res = "12345|6".split("|");
Log.d("split", Arrays.toString(res));
答案 0 :(得分:6)
在|之前使用转义字符如下所示:
String[] res = "12345|6".split("\\|");
当你这样做时,需要类似的“转义字符逻辑” 使用以下任何特殊字符进行处理/拆分(由 定期表现:
或签署(|)
问号(?)星号(*)
加号(+)
反斜杠()
期间(。)
插入符号(^)
方括号([和])
美元符号($)
&符号(&)
答案 1 :(得分:5)
你可以试着像这样逃避:
String[] res = "12345|6".split("\\|");
Pipe在正则表达式中具有特殊含义,它允许对正则表达式组件进行逻辑OR运算。所以你需要使用\\
答案 2 :(得分:1)
您可以轻松简单地尝试一下。
String [] res =“ 12345 | 6” .split(“ [|]”);
答案 3 :(得分:0)
如果使用“ ||”分割然后您使用:
yourstring.split(Pattern.quote("||"))
答案 4 :(得分:-1)
public static void main(String[] args) {
String data = "12345|6|7|990";
String[] arr = data.split("\\|");
for(int i = 0 ; i< arr.length; i++){
System.out.println(arr[i]);
}
}
O/p : 12345
6
7
990
答案 5 :(得分:-3)
但是,我已经找到了一个快速解决方法:使用ASCII代码作为参数 - &gt;
String[] res = "12345|6".split("\\x7C");
Log.d("split", Arrays.toString(res));
输出:
split﹕ [12345, 6]
只是想在这里分享一下,所以其他有相同问题的人也可以使用此修复程序。 :)