【问题标题】:Delete Every line with that Word删除该单词的每一行
【发布时间】:2012-01-13 07:04:31
【问题描述】:

如果该行包含特定单词,例如“cat”,我想删除整行。

如果“cat”在这一行,删除整行!

例子 之前

0123456789$$"!§%   CAT   $"!$&()&0912WORDS
53DAD$"§$DSFC09243 DOG %$§%
KLJ0963@    CAT   - 8953"""!

之后的样子

53DAD$"§$DSFC09243 DOG %$§%

我必须使用哪种表达方式?

谢谢

【问题讨论】:

    标签: regex notepad++ replace


    【解决方案1】:

    你需要这样的东西:

    [a-z]*cat[a-z]*

    不知道有没有空格或者其他特殊字符...

    【讨论】:

    • [a-z| |.|,|0-9]*cat[a-z| |.|,|0-9]*
    【解决方案2】:

    这里不一定需要正则表达式

    1. 进入搜索菜单 Ctrl+F (Strg+F, bzw.Suchen - Suchen)

    2. 在“标记”选项卡上,在“查找内容”字段中输入单词(Im “Vorkommnisse markieren”选项卡,das Scuhwort in “Suchen nach” eingeben)

    3. 勾选“书签行”(Haken bei Lesezeichen setzen)

    4. 按“全部标记”(“Allesuchen”)

    5. 转到 搜索 - 书签 - 删除书签行(Im Menü Suchen - Lesezeichen - Zeilen mit Lesezeichen löschen auswählen)

    ==>你完成了

    【讨论】:

    • 这会给实际使用书签的人带来问题。
    • 听起来是个好主意,但对不使用英语记事本++的我来说并没有真正的帮助。
    • 那么在 Notepad++ 中会变得很困难,因为那里的正则表达式非常有限。另一种可能性是用空字符串替换这些行,并在第二个字符串中使用扩展替换模式删除所有空行。但这也会删除“想要的”空行。
    • @Eule2000 应该不会太难将其翻译成您的语言。 “标记”标签是“查找”对话框中的第四个标签,其余部分应该很容易找到。
    • @Eule2000 你的语言是什么,用德语我可以指导你。否则,只需在设置下更改您的语言 - 首选项为英语并返回。
    【解决方案3】:

    notepad++ 中的过程分为两步。首先做一个正则表达式替换

    Find what: ^(.*?)(cat)(.*?)$
    Replace with: 
    

    接下来做一个扩展替换

    Find what: \r\n\r\n
    Replace with: \r\n
    

    假设您的文件是在 Windows 上创建的。但是,这也会删除之前没有内容的所有行。

    编辑:做其他人建议的书签可能会更好。

    【讨论】:

    • 第一个查找步骤甚至不起作用。它没有在一行中找到“猫”
    • 你有正则表达式选择吗?我用 Notepad++ v5.9.5 对其进行了测试,它为我找到了“猫”。
    • 对我也不起作用。不过,删除 ?s 确实做到了。 ^(.*)(猫)(.*)$
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-20
    • 2020-09-26
    • 2020-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多