我有以下字符串,我想将其拆分并仅获取分隔符!
例如:
-3/*1 --> [/*]
3/1 --> [/]
22/*23/off --> [/*,/]
-bar/12(2)/14 --> [/,/]
14/*4(3) --> [/*]
1/*7/*11 --> [/*,/*]
我有这个正则表达式模板:
"\\w|[(]|[)]|[-]"
但效果不佳,它确实删除了不必要的数字和括号,但它在输出数组中提供了额外的空单元格。
知道如何改进吗?
谢谢!
编辑1
我发现用这个表达式分割也有效
"[^/\\*?]"
但同样 - 它会在输出数组中留下空单元格。
最佳答案
进行匹配而不是拆分。
Matcher m = Pattern.compile("/\\*?").matcher(s);
List<String> list = new ArrayList<String>();
while(m.find()) {
list.add(m.group());
}
System.out.println(list);
关于java - 使用正则表达式仅获取分隔符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32982818/