|
用 LPOS/RPOS/SED 指令查找指定字符串出现的行号时,遇到了几个问题:
1、如何仅返回指定字符串出现在行首或者行尾的行号?
2、当指定字符串在同一行中出现不止一次时,该行的行号仅返回一次。
比如:
1、(下面的代码未达到要求)要求:仅返回字符串“顺序”开头的行号
ENVI$ &NL=0d 0a
ENVI &MSG=顺序AA获取指定DEF字符串出现的顺序行号AA
\%&NL%窗口使用顺序缩放比例缩放后顺序
\%&NL%在高DPI显示顺序环境窗口高度超出顺序预期。
LPOS* ,*&LPOS_AllLineNum=顺序,1,%&MSG%
SED* ;;*&SED_AllLineNum=?0,顺序,,%&MSG%
MESS [%&LPOS_AllLineNum%][%&SED_AllLineNum%]
2、(下面的代码未达到要求)要求:字符串“顺序”在同一行中出现多次,该行号仅返回一次。
ENVI$ &NL=0d 0a
ENVI &MSG=顺序AA获取指定DEF字符串出现的顺序行号AA
\%&NL%窗口使用顺序缩放比例缩放后顺序
\%&NL%在高DPI显示顺序环境窗口高度超出顺序预期。
LPOS* ,*&LPOS_AllLineNum=顺序,1,%&MSG%
SED* ;;*&SED_AllLineNum=?0,顺序,,%&MSG%
MESS [%&LPOS_AllLineNum%][%&SED_AllLineNum%]
|
|