touch_xu 发表于 2011-1-4 22:05:42

【已解决】AFan 的_FileSRER2Line 如何把含有关键字的行保存到新文件

本帖最后由 touch_xu 于 2011-1-5 21:18 编辑

看过AFan 的_FileSRER2Line功能很强大,请问如何修改才能保留含有关键字的行,正好也可以更好的解决这个贴子的需求:http://www.autoitx.com/thread-18783-2-1.html

afan 发表于 2011-1-4 23:05:37

_StringKeyLine(FileRead('test.txt'), '关键字', 'new.txt')

Func _StringKeyLine($str, $Key, $NewFile = '', $FOMode = 2)
        ;[可选]$NewFile        写入新文件的文件名
        ;[可选]$FOMode        写入新文件模式:= 1 追加;= 2 覆写
        Local $sR, $Out, $FO
        $sR = StringRegExp($str, '(?<=^|\n)\V*\Q' & $Key & '\E\V*', 3)
        If @error Then Return SetError(1, 0, '')
        For $i = 0 To UBound($sR) - 1
                $Out &= $sR[$i] & @CRLF
        Next
        If $NewFile = '' Then Return $Out
        If $FOMode <> 2 Then $FOMode = 1
        $FO = FileOpen($NewFile, $FOMode)
        FileWrite($FO, $Out)
        FileClose($FO)
EndFunc   ;==>_StringKeyLine

kingfirekkk 发表于 2011-1-5 08:50:13

本帖最后由 kingfirekkk 于 2011-1-5 08:52 编辑

很不错的思路.......模块化的编程看起来舒服啊。

xowen 发表于 2011-1-5 09:45:08

AFAN的代码确实强大,借用!

touch_xu 发表于 2011-1-5 21:18:13

AFAN精品,AFAN神速!!!十分感谢!

cnng 发表于 2012-12-19 15:13:20

精品啊.{:face (356):}

ak47gglllk 发表于 2014-9-25 15:33:10

不懂正则,感谢,路过学习,感谢感谢,非常感谢

ttmv2019sx 发表于 2019-2-21 14:34:09

afan 发表于 2011-1-4 23:05


大神。。你的这个_StringKeyLine(FileRead('test.txt'), '关键字', 'new.txt')   这里可以多个关键字添加的吗。请问怎么写
页: [1]
查看完整版本: 【已解决】AFan 的_FileSRER2Line 如何把含有关键字的行保存到新文件