MongoDB删除替换空值换行,使用正则匹配需要替换的值

 

目的: 去掉非p标签,去掉空格换行

思路:使用mongodb的replace方法支持的正则匹配替换

注意:以 / 开头表示匹配的表达式是一个正则

替换前

<p>
联系地址:南宁市沙井大道56华南城2号广场5楼
<p>
八、查询网址
<p>

<spanstyle="display:none;">

替换后

<p>联系地址:南宁市沙井大道56华南城2号广场5楼<p>八、查询网址<p>

 

代码:

// 使用forEach遍历数据
db.collection_name.find().forEach(function(item) {
    // 得到指定字段的值
    var con = item.field_name_a;

// 使用正则匹配替换内容替换  /g 表示全局匹配,匹配到所有符合要求的 不会匹配到就终止
    con = con.replace( /<p.*?>/g, '<p>');  // 使用? 非贪婪匹配 替换<p style=""> 为 <p>
    con = con.replace( /<[^(p>)].*?>/g, ''); // 使用 非^ 替换掉所有的非<p> 
    con = con.replace( /\s/g, '');           // 使用小s 替换掉所有的空格和换行
    con = con.replace( /(<p>)+/g, '<p>');   // 使用+ 替换连续多个的<p> 为单个<p>

// 打印结果
    print(con);
    print(item._id)
    print("---------------")
    print("---------------")
    print("---------------")
    print("---------------")
       
    // 
    db.collection_name.update({"_id":item._id},{$set:{"field_name_a":con}},{multi:true})

})

 

 

mongodb 贪婪模式控制

 

代码:

var con = "<p style=\"dfgf\">sfdsfdasfadsfadsf<p style=\"dfgf\">";

con = con.replace(/<p.*?>/g, '<p>');

print(con);


var con2 = "<p style=\"dfgf\">sfdsfdasfadsfadsf<p style=\"dfgf\">";

con2 = con2.replace(/<p.*>/g, '<p>');

print(con2);

 

发布了34 篇原创文章 · 获赞 2 · 访问量 3151
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 书香水墨 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览