Java.split(";&124quot;)不工作
我遇到了一个问题,for字符串不能使用字符“|”作为参数。它以某种方式分隔字符串中的每个字符 代码: 输出:Java.split(";&124quot;)不工作,java,string,split,Java,String,Split,我遇到了一个问题,for字符串不能使用字符“|”作为参数。它以某种方式分隔字符串中的每个字符 代码: 输出: split﹕ [, 1, 2, 3, 4, 5, |, 6] 但是,我已经找到了一个快速解决方法:使用ASCII代码作为参数-> String[] res = "12345|6".split("\\x7C"); Log.d("split", Arrays.toString(res)); 输出: split﹕ [12345, 6] 只是想在此处共享此信息,以便具有相同问题的其他人也可
split﹕ [, 1, 2, 3, 4, 5, |, 6]
但是,我已经找到了一个快速解决方法:使用ASCII代码作为参数->
String[] res = "12345|6".split("\\x7C");
Log.d("split", Arrays.toString(res));
输出:
split﹕ [12345, 6]
只是想在此处共享此信息,以便具有相同问题的其他人也可以使用此修复程序。:)
|
是正则表达式的关键字符,split()
可用于正则表达式。像这样转义:\\\\124;
您可以尝试像这样转义:
String[] res = "12345|6".split("\\|");
管道在正则表达式中具有特殊意义,它允许对正则表达式组件进行逻辑或运算。因此,您只需使用
\\
将转义字符放在前面,如下所示:
String[] res = "12345|6".split("\\|");
如果需要,则需要类似的“转义字符逻辑”
使用以下任何特殊字符进行处理/拆分(由
正则表达式):
- 或符号(|)
- 问号(?)
- 星号(*)
- 加号(+)
- 反斜杠(\)
- 句号(.)
- 插入符号(^)
- 方括号([和])
- 美元符号($)
- 符号(&)
yourstring.split(Pattern.quote("||"))
你可以试试这个,简单易行 字符串[]res=“12345 | 6”。拆分([|]”
publicstaticvoidmain(字符串[]args){
字符串数据=“12345 | 6 | 7 | 990”;
字符串[]arr=data.split(“\\\\”);
对于(int i=0;i
伙计,你所需要做的就是使用\\\\\\\\
逃离\\\\\\\\\\\\\
其他有相同问题的人应该遵循其他答案中的一个,而不是这一个。aa好吧,看起来有点混乱。:)这是我的第一个Java/Android应用程序——我是一个新手,我想如果其他新手面临同样的问题,我可以帮助他们。我正在将我的iOS应用程序移植到Android上,我在这里使用Objective-C方法ComponentSeparatedByString:
,它将实际字符串(而不是正则表达式)作为参数-这就是我感到困惑的原因。。谢谢大家的澄清——我在冰箱里为大家预订了一杯德国啤酒!:)split(“\\\\”)
。请注意,.split()
采用正则表达式,
在正则表达式中具有特殊意义。
yourstring.split(Pattern.quote("||"))
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