こういう感じで、まず該当する文字列を検索したあと、
その位置までのリターンコードの数を数えて何行目かを調べる方法はどうでしょうか。
#module
//instr_line(p1,p2)
//文字列p1の中からp2を検索し、それが何行目にあるのかを返す。(最初の行は0行目)
//該当する文字が無い場合は-1を返す。
#defcfunc instr_line str _s,str t,local a,local b,local x,local y,local z,local s,local l
s=_s : a=instr(s,0,t) : if a=-1 : return -1
x=0 : y=0 : z=0 : l=strlen(s)
repeat
z=instr(s,x,"\r") : if z=-1 : break
x+=z : if x>a : break
y++ : x++
if x>=l : break
loop
return y
#global
//以下、使用例
s="あ\nい\nうえお\nか\nき"
mes instr_line(s,"あ")
mes instr_line(s,"い")
mes instr_line(s,"う")
mes instr_line(s,"え")
mes instr_line(s,"お")
mes instr_line(s,"か")
mes instr_line(s,"き")
mes instr_line(s,"く") //これは該当する文字がないので-1が返る