我正在尝试将String的字符拆分为String数组。我在这里找到了解决方案。
该解决方案是完美的,但是我不知道如何.split("(?!^)")工作。我熟悉split()方法的基础知识。有人可以提供解释吗?
.split("(?!^)")
split()
(?!^)是由否定前瞻组成的正则表达式。是用于表示字符串开头的锚。匹配所有0长度的字符串,不跟在字符串的开头。换句话说,它匹配所有0长度的字符串, 但 字符串的开头 除外 。^(?!^)``^ __
(?!^)
^
(?!^)``^
例如,在字符串中abc,将有3个匹配项:一个在a和之间b,一个在b和之间c,以及一个在之后c。在这些匹配项上进行拆分会生成所需的数组(请注意,1参数版本的split()会丢弃任何结尾的空字符串,这就是为什么结果数组中不包含任何空字符串)的原因。
abc
a
b
c