【问题标题】:Sublime Regex to replace everything other than numbers崇高正则表达式替换除数字以外的所有内容
【发布时间】:2014-08-10 04:41:44
【问题描述】:

我有样本数据

| 1 |
| 2 |
| 3 |

我想删除除数字之外的所有其他内容,像往常一样保留行 (\n)

输出:

1
2
3

我对 Sublime 和 Regex 有点陌生。 :)

【问题讨论】:

    标签: regex replace numbers sublimetext3 except


    【解决方案1】:

    在 Sublime 中打开查找替换。您将搜索:

    [^\d\n]+

    并用空字符串替换。

    正则表达式匹配除数字或换行符之外的所有内容

    【讨论】:

    • 如果后面加上+,正则表达式效率更高
    • 哇。谢谢。如果我也想排除逗号,我该如何更改这个!我实际上正在为我的需要编写大宏:)
    • 将逗号添加到[...]括号中:[^\d\n,]+
    【解决方案2】:

    根据您的示例数据,您可以使用以下内容。

    Find: ^\D+|\D+$
    Replace:
    

    这匹配字符串的开头,后跟 non-digits 的任何字符(1 或更多次)OR non-digits 的任何字符数字1 或更多次)在字符串结尾之前。

    Live Demo

    【讨论】:

    • 现场演示+1。我在那里玩了一段时间。仍然正则表达式对我来说似乎很困惑。假设,我只想替换 |<one or more spaces><one or more spaces>|。没有其他东西应该被替换。我该怎么做。
    • 您可以使用^\|\s+|\s+\|$\|\s+(\d+)\s+\| 替换为\1
    • 知道了。我亲手试过 '\\|+|\\s+' :) 真的很有帮助的网站
    • 如果| 和任何其他字符之间的空格为零,则不会删除。我怎么能把它也包括在内
    • 而不是+ 使用* 表示0 或更多次
    猜你喜欢
    • 2019-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多