A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

//替换匹配,匹配所有连在一起的数字(超过或等于2位的),用_替换
    public static String replace2(){
        String str="f12flskfls;ls32kj5555jls313fk";
        String s=str.replaceAll("[0-9]{2,}", "_");   
        return s;   
    }

结果f_flskfls;ls_kj_jls_fk,正常
那么如果我相匹配
//替换匹配,匹配所有连在一起的数字(只匹配2到3位的),用_替换
该怎么写呢?

String s=str.replaceAll("[0-9]{2,3}", "_");
这样肯定是不行的,
这样的结果是:
f_flskfls;ls_kj_5jls_fk
而我想要的结果是
f_flskfls;ls_kj5555jls_fk

非常感激大家能在百忙之中翻阅我的提问。祝你们工作顺利,学业、事业蒸蒸日上

评分

参与人数 1技术分 +1 收起 理由
冯海霞 + 1

查看全部评分

2 个回复

倒序浏览
用环视
左边不是数字
右边不是数字
中间是2-无穷大的数字就行了
具体代码还需要我写吗?
回复 使用道具 举报
本帖最后由 朱玉玺 于 2013-2-7 22:27 编辑

replaceAll("(\\D)[0-9]{2,3}(\\D)", "$1_$2"); 试试
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马