java - string.split ("(?!^)")解释

标签 java string

我正在尝试将字符串的字符拆分为字符串数组。我找到了解决方案here .

解决方案是完美的,但是我不明白 .split("(?!^)") 是如何工作的。我熟悉 split() 方法的基础知识。有人可以解释一下吗?

最佳答案

(?!^)regular expressionnegative lookahead 组成。 ^anchor用于表示字符串的开始。 (?!^) 匹配所有后面不跟有 ^ (字符串开头)的 0 长度字符串。换句话说,它匹配除字符串开头的所有 0 长度字符串。

例如,在字符串 abc 中,将有 3 个匹配项:ab 之间有一个匹配,b 之间有一个匹配c,以及 c 之后的一个。对这些匹配项进行拆分会生成所需的数组(请注意,split() 的 1 参数版本会丢弃任何尾随空字符串,这就是结果数组中不包含任何字符串的原因)。

关于java - string.split ("(?!^)")解释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18688787/

相关文章:

java - 是否可以在同一台机器上运行套接字服务器和套接字客户端?

java - 除非我将所有内容都放在一个类中,否则 JMenuBar 不会出现

ruby - I18n::InvalidLocaleData:I18n gem 在 js 导出中有问题

c++ - 字符串中的字符数

c++ - 使用boost::bind将 map 作为参数传递

java - 在不同列表之间移动属性

java - 如何使用批处理文件设置Java路径

c++ - 如何让 STL std::string 在 Windows 上使用 unicode?

MySQL - 长度()与 char_length()

java - 在 neo4j 服务器扩展中使用 JSON