【问题标题】:How to extend NSString with function which returns only suffixed numbers?如何使用仅返回后缀数字的函数扩展 NSString?
【发布时间】:2014-12-26 14:41:46
【问题描述】:

我有一个单词数组,其中每个单词最后都包含一些数字(例如 test203, test12 )。我必须根据该后缀号对这类单词进行排序。是否可以使用函数来扩展 NSString 类,该函数会将该数字返回为 int ?

【问题讨论】:

  • 你知道这个数字是多少位数吗?你知道字符串中间是否可以有其他数字吗?
  • 听起来你需要一个 NSString 上的类别 ...

标签: ios objective-c ios7 ios8


【解决方案1】:

您可以编写自己的类,其方法将返回int 并将NSString 作为参数。例如:

+(int)getSuffix:(NSString*)theString {
    NSString *newString = [[theString componentsSeparatedByCharactersInSet:
            [[NSCharacterSet decimalDigitCharacterSet] invertedSet]] 
            componentsJoinedByString:@""];
    return [newString intValue];
}

然后你可以用你的字符串调用这个方法:

[SuffixClass getSuffix:@"test12"];

这将返回 12

【讨论】:

  • 这可能会让您感到惊讶,因为它可能包含 ASCII 数字以外的字符。在应用集合之前创建显式集合并进行字符串规范化更准确和可预测。
猜你喜欢
  • 1970-01-01
  • 2017-11-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-30
相关资源
最近更新 更多