• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

从NSString删除所有非数字字符,保留空格

用户头像
it1352
帮助1

问题说明

我想从 NSString 中删除所有的非数字字符,但我也需要保留空格。这是我一直在使用的。

I am trying to remove all of the non-numeric characters from an NSString, but I also need to keep the spaces. Here is what I have been using.

NSString *strippedBbox = [_bbox stringByReplacingOccurrencesOfString:@"[^0-9]" withString:@"" options:NSRegularExpressionSearch range:NSMakeRange(0, [_bbox length])];

如果我给它一个NSString Test 333 9599 999 它会返回 3339599999 ,但我需要保留空格。

If I give it a NSString of Test 333 9599 999 It will return 3339599999 but I need to keep the spaces in.

我该如何做?

正确答案

#1

通过创建要保留的字符集并使用 invertedSet 创建一个所有其他集合。然后将该字符串拆分为由此集合中的任何字符分隔的数组,并重新组装该字符串。听起来很复杂但实现起来很简单:

Easily done by creating a character set of characters you want to keep and using invertedSet to create an "all others" set. Then split the string into an array separated by any characters in this set and reassemble the string again. Sounds complicated but very simple to implement:

NSCharacterSet *setToRemove =   
    [NSCharacterSet characterSetWithCharactersInString:@"0123456789 "];
NSCharacterSet *setToKeep = [setToRemove invertedSet];

NSString *newString = 
        [[someString componentsSeparatedByCharactersInSet:setToKeep]
            componentsJoinedByString:@""];

结果: 333 9599 99

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /reply/detail/tanhcgbkcf
系列文章
更多 icon
同类精品
更多 icon
继续加载