[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
ivor 发表于 2019-1-14 22:39



    这两个字符串出现的前后顺序是不一定的,你这样只满足一种条件,考虑全面些好.
  1. [regex]::new('^(?=.*BENDE)(?=.*LASTF).*$\r?\n?',[System.Text.RegularExpressions.RegexOptions]::Multiline).Replace([System.IO.File]::ReadAllText($file,[System.Text.Encoding]::Default),'',1)|Set-Content -LiteralPath $file -Encoding Default
复制代码
3

评分人数

TOP

本帖最后由 flashercs 于 2019-1-16 08:38 编辑

回复 17# yhcfsr


   去掉赋值表达式或把赋值表达式单独一行;
ISE第一次运行失败,但是变量[regex]$pattern已经建立,所以第二次运行是使用内存中已存在的变量$pattern
但是powershell,每次运行都是新的session,所以会失败.
就为了省几个换行符而压缩代码,没必要;难道磁盘空间不够用?
代码易读易维护才重要,越接近人类语言越好,就像写作文一样;机器能读懂,没有学过ps的也能读懂,日后维护也方便.
  1. ([regex]'(?=.*BENDE)(?=.*LASTF).*\r?\n?').replace([IO.File]::ReadAllText($filename), '', 1)
复制代码
2

评分人数

TOP

返回列表