【问题标题】:Simple TextWrangler Regex Replace简单的 TextWrangler 正则表达式替换
【发布时间】:2012-08-09 22:44:02
【问题描述】:

我正在使用 textwrangler 并且是正则表达式的新手。我有一堆电子邮件地址,但我只需要删除 @mydomain.edu 地址。

Standard Hall,414,Ashley,Smith,"asmith@mydomain.edu, asmith@otherdomain.com"
Standard Hall,414,Stacy,Smith,"ssmith@mydomain.edu, ssmith@otherdomain.com"

如您所见,每一行都有一个使用@mydoamin.com 的电子邮件地址。我想在每次出现@mydomain.com 时删除整个电子邮件地址,并留下备用电子邮件。

有没有办法做到这一点?

【问题讨论】:

    标签: regex grep textwrangler


    【解决方案1】:

    如果您的地址在每行一个的列表中,您可以使用grep

    grep -v "@mydomain.edu" file.txt
    

    编辑awk:

    awk -F, '$5 ~ /@mydomain.edu/ { sub("[^\", ]*@mydomain.edu[, ]*","") }1' file.txt
    

    结果:

    Standard Hall,414,Ashley,Smith,"asmith@otherdomain.com"
    Standard Hall,414,Stacy,Smith,"ssmith@otherdomain.com"
    

    【讨论】:

    • 我更新了我的问题。如果匹配 @mydomain.edu,我需要删除整个电子邮件地址
    • @NicHubbard:我想我在你接受之前/之后编辑了它。这个版本对你来说会更强大。很高兴我能帮忙:-)
    【解决方案2】:

    在 TextWrangler 的 Find 中标记 Grep 复选框并将这一行插入到 Find 文本框中:

    ([a-zA-Z0-9\.]*@mydomain.edu(, )?)|((, )?[a-zA-Z0-9\.]*@mydomain.edu)
    

    然后点击全部替换。这将删除该域的所有电子邮件并保留正确数量的逗号。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-03-13
      • 1970-01-01
      • 1970-01-01
      • 2014-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多