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

[问题求助] PowerShell如何排除带-和:的行

下面的代码, 排除空行没问题, 但是排除带-和:的行不生效
  1. (gc "C:\Users\Administrator\Desktop\a.txt") |
  2. ? { $_.trim() -ne "" } |
  3. ? { $_.trim() -notcontains ":" } |
  4. ? { $_.trim() -notcontains "-" } |
  5. sc "C:\Users\Administrator\Desktop\aa.txt" -Encoding UTF8
复制代码
a.txt内容:

目标是删除下面四行:
[00:00.10]胡歌 - 逍遥叹

[00:00.70]作词:陈宇任

[00:00.89]作曲:陈宇任

[00:01.00]编曲:屠颖
-----------------------------------------
[ar:胡歌]

[ti:逍遥叹]

[00:00.10]胡歌 - 逍遥叹

[00:00.70]作词:陈宇任

[00:00.89]作曲:陈宇任

[00:01.00]编曲:屠颖

[00:26.68]岁月难得沉默

[00:29.92]秋风厌倦漂泊

[00:33.24]夕阳赖着不走

[00:35.64]挂在墙头舍不得我

[00:39.91]昔日伊人耳边话

试试-notmatch
1

评分人数

    • 5i365: 乐于帮助!技术 + 1

TOP

本帖最后由 5i365 于 2022-2-7 11:21 编辑

回复 2# idwma


    大侠, 您好, 遇到了个问题, 原txt文件如下, 第1行只有个-, 第5行只有一个# 它们的左或右可能有空格,  如果用  -notmatch "[-#]"  所有的行都没匹配上, 但我只想不匹配只有一个-和#的行, 其它包含-或#的行要保留


-
-故事的-小黄花
从出生那年就飘--着
童年的荡秋千--
#
从出生那年就飘#着
童年的荡秋千##

TOP

回复 3# 5i365
  1. -notmatch "^\s*-\s*$|^\s*#\s*$"
复制代码

TOP

回复 4# idwma


    多谢!
万能的正则

TOP

返回列表