如何使用“,/ *,\ *

时间:2019-01-06 03:28:15

标签: java string delimiter

我正在编写一个代码,该代码将读取字符串,并且必须知道它是由字母组成还是标点符号。对于eq:(string指(和string为2个不同的实体。

我已经用

设置了定界符
String DELIM = "[\\s\\-\\.\\'\\,\\?\\,\\_\\@\\#\\(\\)\\;]+";

,但是代码仍然将,*,/ 视为由字母组成的字符串,而不是标点符号。

我如何编辑我的Delim以能够更改它?

1 个答案:

答案 0 :(得分:1)

在方括号[here]内,您不必逃脱太多。
正则表达式[\\s-.'?,_@#();*\\/]+完美地捕获了字符串中的任何定界符
aa bb-cc.dd'ee?ff,gg_hh@ii#jj(kk)ll;mm*nn/oo

这是Java代码段:

String regex = "[\\s-.'?,_@#();*\\/]+";
String text = "aa bb-cc.dd'ee?ff,gg_hh@ii#jj(kk)ll;mm*nn/oo";
String[] split = text.split(regex);
for (String s : split) {
    System.out.println(s);
}

输出:
aa
bb
cc
...

您也可以使用regexp捕获其他不是后者或数字的内容:
[^a-zA-Z0-9]+