- String x="16+(7×17)-90×23+(1÷2)";
- StringBuffer operatorStr=new StringBuffer(x);
- // 1.创建 Pattern 对象
- Pattern p = Pattern.compile("\\d+(\\.\\d*)*"); //匹配数字的正则表达式
- //2.创建Matcher对象
- Matcher m = p.matcher(operatorStr);
- int count = 0;
- while(m.find()) {
- //find()尝试查找与该模式匹配的输入序列的下一个子序列
- System.out.println(m.group(0));
- operatorStr.replace(m.start(), m.end(), "");
- System.out.println(operatorStr);
- m = p.matcher(operatorStr); //更新Matcher对象,指向新字符串的匹配
- }
目的:移除字符串中的数字
输出:
好吧str.replaceAll(regex, string)方法可以直接实现。我傻了,弄复杂了