java - 为什么在执行 split() 时,数组的第 0 个索引中有 ""且不带分隔符?

标签 java arrays split

public static void main(String[] args) {
    // TODO Auto-generated method stub

    String str="aaabbddaabbcc";
    String[] str2=str.split("");
    String pointer=str2[0];
    int count=0;
    String finalStr="";
    for(String str132:str2)
    {
        if(str132.equalsIgnoreCase(pointer))
        {
            ++count;
        }
        else
        {

            finalStr+=str132+count;
            count=0;
            pointer=str132;
            ++count;
        }
    }
    System.out.println(finalStr);
}

在执行 str.split("") 时,为什么我在 str2 数组的第 0 个索引中得到一个 ""

最佳答案

why am i getting a "" in the 0th index of the str2 array?

因为您使用的分隔符在这里已匹配:

 aaaabbddaabbcc
^

由于 .split() 收集在进入字符串时“走过”的部分,因此这里它收集空字符串。

还要注意,由于分隔符为空,为了避免无限循环,在下一次迭代时,.split() 将在开始再次搜索之前转发一个字符。

关于java - 为什么在执行 split() 时,数组的第 0 个索引中有 ""且不带分隔符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22718096/

相关文章:

r - 改变 R 中 split() 的输出格式

regex - 使用 perl 拆分可能包含空格的行

java - 通过 Spring 进行 RESTful 身份验证

java - 如何使用 Pusher 使用 ClientID 从客户端向服务器发送消息

java - 保护sqlite数据库-android

java - 交换数组中对应的元素

arrays - UIColor 下标数组问题

java - 如何进行 Oracle 风格的编号日志记录?

java - 如何通过在 Java 中组合具有可变大小的整数数组来形成唯一的整数集?

r - 在 R 中特殊字符首次出现之前获取所有字符