我有一个弦
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/