已解决 如何用正则删除文本最后10行
本帖最后由 Qokelate 于 2012-7-10 17:41 编辑1.文本小于10行则不进行任何操作
2.文本大于10行且最后行是空行则删除文本倒数第二行至倒数第11行(就是保留最后那个空行)
3.文本大于10行且最后行不是空行则删除最后10行
用正则怎样实现? 正则不回 帮顶楼 StringRegExpReplace($Str, '(?<=[^\r\n])(?:\r\n\V+){10}$|(^\V+(?:\v+\V+){9})(?s).*(?=\r\n$)', '\1') 本帖最后由 Qokelate 于 2012-7-10 17:18 编辑
回复 3# afan
$string = _
'1' & @CRLF & _
'2' & @CRLF & _
'3' & @CRLF & _
'4' & @CRLF & _
'5' & @CRLF & _
'6' & @CRLF & _
'7' & @CRLF & _
'8' & @CRLF & _
'9' & @CRLF & _
'10' & @CRLF & _
'11' & @CRLF & _
'12' & @CRLF & _
'13' & @CRLF
$b = StringRegExpReplace($string, '(?<=[^\r\n])(?:\r\n\V+){10}$|(^\V+(?:\v+\V+){9})(?s).*(?=\r\n$)', '\1')
MsgBox(0, 0, $b)
最后行是空行的话应该是删除倒数第2行至倒数第11行 而不是保留10行 (见要求2)怎样改啊 赚分来的。。。正则不懂 回复 4# Qokelate
看错了,还以为是删除倒数第二行至第11行,漏了倒数StringRegExpReplace($Str, '(?<=[^\r\n])(?:\r\n\V+){10}(\r\n)?$', '\1') 晕,我没看错,是你开始就说错…
2.文本大于10行且最后行是空行则删除文本倒数第二行至第11行(就是保留最后那个空行)
问题解决 3Q 回复 7# afan
嗯是我描述错了 不好意思
页:
[1]