javascriptのreplace方法は正則を結び付けて実例を使って総括します.

4027 ワード

本論文の実例は、javascriptのreplace方法を正則的な使用方法と組み合わせることについてまとめたものである.皆さんに参考にしてあげます.具体的には以下の通りです.
replace()メソッドは、文字列の中で他の文字を一部の文字で置換するか、正規表現と一致する文字列を置換するために使用されます.
例一:直接repalceを使って置換する

var stringObj="       ,    ";
//     “  ” “  ”
//          
//    stringObj      
var newstr=stringObj.replace("  ","  ");
//       ,    
alert(newstr);

例2:正規表現を使って、すべて置換します.

var str="       ,    ";
var newstr=str.replace(/(  )/g,"  ");
//       ,    
alert(newstr);

に等しい

var reg=new RegExp("  ","g"); //    RegExp  
var stringObj="       ,    ";
var newstr=stringObj.replace(reg,"  ");
alert(newstr);

例3:正規表現、変数マッチング

var resource="  ";
var target="  ";
var reg=new RegExp(resource,"g"); //    RegExp  
var stringObj="       ,    ";
var newstr=stringObj.replace(reg,target);
alert(newstr);

例四:正則パケットマッチング

var strM = "javascript is a good script language";
//$1    javascript,$2    is
//       "javascript is fun. it is" + strM
// javascript is      javascript is fun. it is
alert(strM.replace(/(javascript)\s*(is)/g,"$1 $2 fun. it $2"));

例5:コールバック関数を使って詳細な処理をする.

var name="aaa bbb ccc";
//name      /\b\w+\b/g   ,     ――aaa,bbb,ccc;      function     
var uw = name.replace(/\b\w+\b/g,function(word){
  //word       
  alert(word);
 return word.substring(0,1).toUpperCase()+word.substring(1);
});
alert(uw);

例6:見慣れない書き方

var reg=new RegExp("(http://www.qidian.com/BookReader/)(\\d+),(\\d+).aspx","gmi");
var url="http://www.qidian.com/BookReader/1017141,20361055.aspx";
//   ,        
var rep=url.replace(reg,"$1ShowBook.aspx?bookId=$2&chapterId=$3");
alert(rep);
//    ,           
var rep2=url.replace(reg,function(m,p1,p2,p3){
 return p1+"ShowBook.aspx?bookId="+p3+"&chapterId="+p3
});
alert(rep2);
//   ,            
var rep3=url.replace(reg,function(){
 var args=arguments;
 return args[1]+"ShowBook.aspx?bookId="+args[2]+"&chapterId="+args[3];
});
alert(rep3);


function ReplaceDemo(){
 var r, re;      //     。
 var ss = "The rain in Spain falls mainly in the plain.";
 // \s      , \S       ,  /(\S+)(\s+)(\S+)/g    “        ”   
 //      The rain、in Spain、falls mainly、in the
 //       rain The、Spain in、mainly falls、the in
 re = /(\S+)(\s+)(\S+)/g;  //          。
 //           
 r = ss.replace(re, "$3$2$1"); //        。
 return(r);      //        。
}
alert(ReplaceDemo());


name = "Doe, John";
//           
var temp = name.replace(/(\w+)\s*, \s*(\w+)/, "$2 $1");
alert(temp);


function SDReplaceData(objStr)
{
 return objStr.replace( /(\&|\')/g,
   function($0, $1)
   {
    return{
     "&" : "&"
    , "'" : "'"
    }[$1];
   }
   );
}

PS:ここでもう2つの非常に便利な正規表現ツールを提供します.
JavaScript正規表現はオンラインテストツールです.http://tools.jb51.net/regex/javascript
正規表現のオンライン作成ツール:http://tools.jb51.net/regex/create_reg
JavaScript関連の内容について興味がある読者は、当駅のテーマを見ることができます.「JavaScript切替特効と技巧まとめ」、「JavaScript検索アルゴリズム技術まとめ」、「JavaScriptアニメーション特効と技巧まとめ」、「JavaScriptエラーとデバッグ技術まとめ」、「JavaScriptデータ構造とアルゴリズムのまとめ」、「JavaScriptアルゴリズムとアルゴリズムのまとめ」などがいっぱいあります.及び「JavaScript数学演算の使い方のまとめ」
本論文で述べたように、JavaScriptプログラムの設計に役に立ちます.