【问题标题】:Objective-C String Extract IssueObjective-C 字符串提取问题
【发布时间】:2012-03-23 02:19:12
【问题描述】:

我正在试图弄清楚如何精确计算 NSString 的某个部分,我查看了 API,但我似乎无法获得正确的方法组合来执行此操作。

我可以遍历每个字符并完成此操作,但我确信这是一种更简单的方法。

我有一个这样的字符串:

NSString *temp = @"1.09 Units";

我想只提取 Units 部分,所以我想得到一个只有 Units 的字符串。我正在寻找一种通用的方法,因此 Units 前面有多少个单词或 Units 是否是一个更长的单词都无关紧要。

所以我想寻找单词之间的“”空格,但没有成功。

感谢您的任何想法或建议。

【问题讨论】:

  • 获取更多关于您想要拆分的字符串类型的示例可能会有所帮助。

标签: objective-c cocoa nsstring


【解决方案1】:

想法:

  • 分割字符串,使用' ' (space)作为分隔符
  • 将其存储在一个数组中。第二个元素就是你想要的。

代码:

- (NSString*)getSecondPartFrom:(NSString*)str
{
     NSArray* arr = [str componentsSeparatedByString:@" "];
     return (NSString*)[arr objectAtIndex:1];
}

【讨论】:

  • 我怎么没看到componentsSeparatedByString这个方法?说真的,Apple 的文档不是我的朋友。
  • @Vikings Cocoa 函数...哦,它们太多了,你很可能会一直遇到新的! ;-)
  • 最好使用[arr objectAtIndex:[arr length] - 1]。这样,您将始终获得数组中的最后一项,如果字符串是“1 of 2 Units”或具有多个空格的任何内容,这将很重要。
  • 或者 - 继续你没听说过的方法的主题 - [arr lastObject]。 :-)
【解决方案2】:

您可以使用 ComponentSeparated NSString 方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-22
    • 2011-11-05
    相关资源
    最近更新 更多