notemaxのように複数行文字列の行数を取得します。
正規表現版はパターンを"(\\r\\n)+"に変更することで、空行を無視するようにもできます。#module
// instr()を利用した行数の取得
#defcfunc get_lines_num var p1
result = 0
repeat
result++
ins = instr(p1, cnt, "\n")
if ins == -1 : break
continue cnt + ins + 2
loop
return result
// 正規表現を利用した行数の取得
#defcfunc get_lines_num2 var p1
if vartype(com_regexp) != vartype("comobj") {
// comオブジェクト型変数の初期化
newcom com_regexp, "VBScript.RegExp"
comres com_result
com_regexp("Pattern") = "\\r\\n"
com_regexp("Global") = 1
}
com_regexp->"Execute" p1
return com_result("Count") + 1 // 行数 = 改行の個数 + 1
#global
s = "Hot\nSoup\nProcessor\n\n"
mes get_lines_num(s)
mes get_lines_num2(s)
stop
2008年1月23日水曜日
複数行文字列の行数を取得する
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿