如何分割字符串"Thequickbrownfoxjumps"
Java 中相同大小的子字符串。
例如。"Thequickbrownfoxjumps"
4 个相同大小的应该给出输出。
["Theq","uick","brow","nfox","jump","s"]
类似问题:
Scala 将字符串拆分为等长子字符串
这是正则表达式单行版本:
System.out.println(Arrays.toString(
"Thequickbrownfoxjumps".split("(?<=\\G.{4})")
));
\G
是一个零宽度断言,与上一场比赛结束的位置相匹配。如果有was没有先前的匹配,它匹配输入的开头,与\A
。封闭的lookbehind 匹配距上一个匹配末尾四个字符的位置。
既向后看又\G
是高级正则表达式功能,并非所有风格都支持。此外,\G
在支持它的风格中并没有一致地实现。这个技巧将在(例如)中起作用Java、Perl、.NET 和 JGSoft,但不在PHP(PCRE)、Ruby 1.9+ 或 TextMate(均为 Oniguruma)。 JavaScript 的/y
(粘性标志)不像\G
,即使 JS 支持lookbehind,也不能以这种方式使用。
我应该提一下,我不一定推荐如果您有其他选择,请使用此解决方案。其他答案中的非正则表达式解决方案可能会更长,但它们也是自我记录的;这只是关于opposite的。 ;)
另外,这在 Android 中不起作用,Android 不支持使用\G
在回顾中。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)