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);

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章