正则匹配字符串有则替换无则添加
一.首先确定我们的字符串文本 例: 有一个网上商城项目在书本的详细描述中有这样一段话: "这是一本某某写Java书共1000章.....【 书本编号:107 】" 注意:这段话的最后方括号里的编号等内容是程序自动生成的,用户修改书本详细时是不允许改变或删除里面的编号内容,但用户操作时可能会不小 修改或删除了这里面的内容, 所以现在我的想法是: 不管员工有没有删除还是改变方括号里的编号等内容我们程序后台必须给它重新加上正确的编号和内容, 但不能重复添加多个方括号和里面的内容; 做法是:用正则判断有书本编号存在就替换,没有编号的内容存在就添加; 代码如下: String book = "这是一本某某写Java书共1000章.....【 书本编号:107 】"; // 表达式对象(我们只匹配是否存在【】括号 括号中的字符任意匹配) Pattern p = Pattern.compile("【([\\s\\S]*|[\\d\\D]*|[\\w\\W]*|[ -~]* )】"); // 创建 Matcher 对象 Matcher m = p.matcher(book); //判断这段文字中是否包含 "【 书本编号:107 】" 这个书本编号 if(m.find()){ // 包含就替换 book = m.replaceAll("【 视频编号:"+book,getId()+" 】"); }else{ // 不包含 就去取正确的 书本编号进行添加 book = vidoAdds + "【 视频编号:"+book,getId()+" 】"; }
正则匹配字符串有则替换无则添加;用正则实现添加和替换字符串,原字符串中包含某字段就替换(覆盖),不包含某字段就添加!
最新推荐文章于 2022-05-16 18:01:17 发布