Java 字符串拆分问题

标签 java string split

我想知道为什么拆分字符串的结果

foo:and:boo

正则表达式

o

里面有空格吗? 所以输出看起来像这样 -

f "" and b

有人可以解释为什么“”在这里吗?谢谢!

最佳答案

Can someone explain why "" is here?

因为 foo 中的 oo 之间没有任何内容。正则表达式 o 拆分字符串中的每个单独的 o

如果您使用 o+,那么您将没有 "",因为您说的是“拆分为一个或多个 os":

Live Example

class Example
{
    public static void main(String[] args)
    {
        String str = "foo:and:boo";
        test("Results from using just \"o\":", str, "o");
        test("Results from using \"o+\":",     str, "o+");
    }

    private static void test(String label, String str, String rex)
    {
        String[] results = str.split(rex);
        System.out.println(label);
        for (String result : results) {
            System.out.println("[" + result + "]");
        }
    }
}

输出:

Results from using just "o":
[f]
[]
[:and:b]
Results from using "o+":
[f]
[:and:b]

关于Java 字符串拆分问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32579857/

相关文章:

java - 使用 JSP 和 POJO 的被动 View 设计模式示例

java - 多边形在旋转时移动

c - 打印多维字符数组

java - 如何比较两个不同字符串中的字符

java - 当我们在没有 new 运算符的情况下创建字符串时,我们会创建对象吗?

parsing - 如何使用 awk 来分割特定列(使用分隔符),然后添加后缀,然后合并?

java.lang.UnsupportedClassVersionError : Bad version number in .类文件

java - 在观察者设计模式中,Subject 和 Observable 是同一个东西吗?

javascript - 如何将unicode字符串拆分为多个字符?

regex - 提取逗号和引号之间的文本,忽略 perl 中的转义字符