【问题标题】:Remove the first single number from a string从字符串中删除第一个数字
【发布时间】:2014-11-27 14:03:28
【问题描述】:

我需要一种方法来删除字符串中的第一个数字(如果存在)。此数字后面必须跟一个空格才能删除。

示例:
“3 8 GB 存储卡”应转换为:“8 GB 存储卡”
“8GB 存储卡”应该保持不变。

请指教。

谢谢!

【问题讨论】:

    标签: ios regex nspredicate


    【解决方案1】:

    使用此正则表达式进行搜索:

    ^(\D*)\d+\s+
    

    并用空字符串替换它。

    RegEx Demo

    此正则表达式匹配:

    • ^ - 开始输入
    • \D* - 0 个或多个非数字
    • \d+ - 1 位或多位数字
    • \s+ - 1 个或多个空格

    Objective C中使用这个正则表达式:

    "^([^0-9]*)[0-9]+ +"
    

    【讨论】:

    • 你也应该解释一下正则表达式是如何工作的,所以对正则表达式不太熟悉的人会理解它
    • 我会使用\b,但 OP 写道:这个数字后面必须跟一个空格才能被删除
    • 那么 \b 不是覆盖这个吗?
    • No \b 也将匹配 3-8 GB memory card 这不是 OP 写的。
    • 像魅力一样工作!谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-11
    相关资源
    最近更新 更多