String s = "p1&p2";
if(s.matches(".*[0-9].*")) { //如果字符串中有数字
s = s.replaceAll("^[A-Za-z0-9]$", ""); //把数字+字母的组合提取出来
for (int i = 0; i < s.length(); i++) {
set.add(String.valueOf(s.charAt(i)));//去重
System.out.println(set);
}
}
我的正则表达式是想识别数字和字母的组合,
期望输出:
[p1,p2]
但是输出结果是所有单个字符:
他直接读取了第一个p和最后一个2,所以这个应该怎么解决呢