我有一个字符串,需要使用#|拆分为多个部分作为分隔符。在某些情况下#|#|也出现了。它也可以多次。
示例字符串:
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。作为分度计?
答案 0 :(得分:4)
您可以使用非捕获组包装模式,并在其后设置+
量词:
.split("(?:#\\|)+")
请参见regex demo
现在,(?:#\\|)+
与两个字符的#
和|
的1个或多个连续出现匹配。请注意,您不需要转义#
(除非您想使用Pattern.COMMENTS
选项(并且在这种短模式下您将不需要它)。