前回、HTMLに書いた文字を置換するJScriptのことを書いた。
そのとき、「もういやだ」の行は文字だけ置換したのだけど、やはり行ごと消し去りたい。
inText = inText.replace(/もういやだ/g, "");
じゃあ、改行コードまで見るにはどうしたらよかろうかとmicrosoftのJScript.NETのページを見た。
ドット「.」の説明に、
'\n' を含む任意の 1 文字に一致させるには、'[.\n]' などのパターンを使用します。
とあるので、そう書いてみたのだが・・・だめっぽい。
こちらのサイトで、そうじゃないと書いてあった。
ありがたや。
var inFile = "test.html";var outFile = inFile + ".html";//読込み
var inStream = new ActiveXObject("ADODB.Stream");inStream.Type = 2; //text
inStream.charset = "utf-8";
inStream.Open();inStream.LoadFromFile(inFile);var inText = inStream.ReadText(-1); // -1:全部 -2:1行ごとinStream.Close();//置換
inText = inText.replace(/<value2>/g, "abc");
inText = inText.replace(/<value1>/g, "-1");
inText = inText.replace(/^.*もういやだ.*[\s\S]/mg, "");WScript.Echo(inText);//console.log(inText);
//書き込み
var outStream = new ActiveXObject("ADODB.Stream");outStream.Type = 2;outStream.charset = "utf-8";
outStream.Open();outStream.WriteText(inText, 0); // 0:改行無し 1:改行有り
outStream.SaveToFile(outFile, 2); // 1:なければ新規作成 2:新規作成かつ存在すれば上書き
outStream.Close();
0 件のコメント:
コメントを投稿
コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。
注: コメントを投稿できるのは、このブログのメンバーだけです。