java - 在 Java 中围绕 char 序列分割字符串

标签 java string split

如何在 Java 中围绕特定数字倍数的字符序列拆分字符串?示例:我有一个二进制字符串

101010100010000001110101110111

我想将它拆分为 3 的倍数的零序列,即它应该返回

[1010101, 1, 1110101110111]

(它应该考虑可被 3 整除的零的正则表达式序列,在本例中为 000 和 000000)

我尝试使用 split("[0{3}]+") 但它不起作用。

最佳答案

我认为split("(0{3})+")应该解决它。在 [] 之间放置一些东西意味着您正在尝试查找该 block 中的某些字符。

更新

如果我们想要评论中想要的内容,应该是这样的: split("(?<!0)(0{3})+(?!(0{1,2}))") 。它有点复杂,但它应该给出所需的输出。

假设我们有 100001作为输入。该部分(?<!0)将确保永远不会有 0开头,否则结果可能类似于 [10, 1] 。和(?!(0{1,2}))检查是否还剩 1 个或 2 个 0 .

这将给出 [100001]与给定的输入。有输入1000100001它将导致 [1, 100001]

关于java - 在 Java 中围绕 char 序列分割字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49773823/

相关文章:

java - Android - 而不是启动新类(class)/Activity 的新 Intent ,如何返回打开 Activity/类(class)?

java - 为什么 trim() 不删除此示例中的尾随空格?

mysql - SOQL - 从具有多个日期列的行返回具有一个日期列的行

Vim 拆分后经常需要重绘

javascript - Java UTF-8 特殊字符转 JavaScript

java - eclipse : Console is running however no window is appearing

java - 垃圾收集如何识别孤立对象?

java - 如何一次读取超过 1 个字符的字符串

Java:将 List<String> 转换为方法(String、String、String)的输入

C++ boost::split 首先