JAVA-分割包含定界符#|的字符串。如果#|出现多次,则字符串也应拆分喜欢-#|#|

时间:2018-11-26 13:29:26

标签: java regex

我有一个字符串,需要使用#|拆分为多个部分作为分隔符。在某些情况下#|#|也出现了。它也可以多次。

示例字符串:

kh73j563741043f4611144u3ol#|h73j5637411432vk651p4601#|sadf#|12342134#|ADHVSF#|1#|0#|0#|DFSFS#|SDFSBFSF#|2017-07-03 19:56:37.0#|3#|6#|#|SDJHSJKDSDKSDS ODHDO ODHSUDSD 34234234 PODSOF pfjfs

我写的是:

String input [] = line.split("\\#\\|");

上面的代码将输入分为13个不同的字符串,但是上面的代码不适用于“#|#|”的最后一个字符串用作分度计。

我如何制作一个可以传递#|多个实例的REGEX。作为分度计?

1 个答案:

答案 0 :(得分:4)

您可以使用非捕获组包装模式,并在其后设置+量词:

.split("(?:#\\|)+")

请参见regex demo

现在,(?:#\\|)+与两个字符的#|的1个或多个连续出现匹配。请注意,您不需要转义#(除非您想使用Pattern.COMMENTS选项(并且在这种短模式下您将不需要它)。