相关疑难解决方法(0)

122
推荐指数
7
解决办法
6万
查看次数

从Obj-C中的字符串中提取数字

我是Objective-C的新手,但在其他更高级的语言方面经验丰富.我想通过删除所有非数字字符来规范化字符串.换句话说,给定输入字符串"206-555-1212",归一化结果应为"2065551212".下面的代码片段有效,但鉴于我在其他语言中的经验似乎有点矫枉过正.有没有更好的方法呢?

编辑:输入字符串"(206)555-1212","206.555.1212","206 555 1212"等也应返回相同的标准化结果.

NSString * normalize(NSString * number)
{
    NSString *normalizedNumber = @"";
    NSString *tmpString = nil;

    NSRange searchRange;
    NSRange resultRange;
    searchRange.location = 0;
    searchRange.length = number.length;

    while (0 < searchRange.length)
    {
        resultRange = [number rangeOfCharacterFromSet:[NSCharacterSet decimalDigitCharacterSet]
                                        options:NSLiteralSearch
                                          range:searchRange];
        tmpString = [number substringWithRange:resultRange];
        normalizedNumber = [normalizedNumber stringByAppendingString:tmpString];
        searchRange.location = resultRange.location + resultRange.length;
        searchRange.length = number.length - searchRange.location;
    }

    return normalizedNumber;
}
Run Code Online (Sandbox Code Playgroud)

string objective-c normalization nsstring

3
推荐指数
2
解决办法
4848
查看次数

如何从iOS中的字符串中删除空格

可能重复:
替换Objective-C中字符串中的一个
字符从NSString中删除所有空格

@"this string contains blank spaces".

我们如何将此字符串转换为@"thisstringcontainsblankspaces".

我的意思是我们如何修剪字符串中的所有空格和新的线条字符.我已经尝试NSCharecterSet过使用了whitespaceCharacterSet.但这只删除了字符串末尾的空格而不是之间....

有任何想法吗??

nsstring nscharacterset ios

-2
推荐指数
1
解决办法
3655
查看次数