2014/11/08

[wsh]JScriptで改行ごと消し去りたい

前回、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 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。