Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 基于一个字符而不是另一个字符的拆分操作_Java_String_Split - Fatal编程技术网

Java 基于一个字符而不是另一个字符的拆分操作

Java 基于一个字符而不是另一个字符的拆分操作,java,string,split,Java,String,Split,我想基于一个字符分割字符串,但不基于其他字符 String data = "data1|data2||data3"; 执行字符串arrayData[]=data.split(“|”)时给我的输出如下 arrayData[0] = data1 arrayData[1] = data2 arrayData[2] = data3 arrayData[0] = data1 arrayData[1] = data2||data3 但我想要像这样的输出 arrayData[0]

我想基于一个字符分割字符串,但不基于其他字符

String data = "data1|data2||data3";
执行
字符串arrayData[]=data.split(“|”)时给我的输出如下

arrayData[0] = data1
arrayData[1] = data2
arrayData[2] = data3
arrayData[0] = data1

arrayData[1] = data2||data3
但我想要像这样的输出

arrayData[0] = data1
arrayData[1] = data2
arrayData[2] = data3
arrayData[0] = data1

arrayData[1] = data2||data3
你能帮我一下吗。
谢谢

是正则表达式中的一个特殊字符,因此需要将其转义为
\\\\\\
,这意味着Java字符串文本中的
\\\\\\\

要在独立的
|
上进行拆分,请使用零宽度负后向和前向查找,以确保其前面或后面没有
|

String data=“data1 | data2 | | data3”;
String[]arrayData=data.split((?
split(“|”)将不会返回
[data1,data2,data3]
,它返回
[d,a,t,a,1,|,d,a,t,a,a,a,a,a,a,a,3]
。请修复您有缺陷的假设。