我有一个弦

a-b-c


然后我想用字符“-”标记字符串,结果将是

[a, b, c]


但是我有一个弦

a---c


结果应该是

[a, -, c]


Java中已经有一个标记器可以做到这一点?

最佳答案

这是仅使用正则表达式为您提供测试数据所需结果的解决方案:

\b-|-\b




Debuggex Demo

单词边界(\b)的可能性经常被低估,但可以大大简化许多正则表达式。

通过提供的正则表达式,您现在可以使用Javas split方法。因此,小的testclass可能看起来像:

public class SimpleRegExp {
    public static void main(String[] args) {
        String regexp = "\\b-|-\\b";
        System.out.println(Arrays.toString("a-b-c".split(regexp)));
        System.out.println(Arrays.toString("a---c".split(regexp)));
    }
}


并打印此结果:

[a, b, c]
[a, -, c]

关于java - 在Java中标记字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24262495/

10-11 03:55
查看更多