我有以下内容NSString
:
productID = @"com.sortitapps.themes.pink.book";
最后,“书”可以是任何东西……“音乐”、“电影”、“游戏”等。
我需要在粉色这个词之后找到第三个句点,这样我就可以用别的东西替换最后一个“书”词。如何使用 NSRange 执行此操作?基本上我需要这个:
partialID = @"com.sortitapps.themes.pink.";
我有以下内容NSString
:
productID = @"com.sortitapps.themes.pink.book";
最后,“书”可以是任何东西……“音乐”、“电影”、“游戏”等。
我需要在粉色这个词之后找到第三个句点,这样我就可以用别的东西替换最后一个“书”词。如何使用 NSRange 执行此操作?基本上我需要这个:
partialID = @"com.sortitapps.themes.pink.";
您可以尝试向后搜索点并使用结果来获得所需的范围:
NSString *str = @"com.sortitapps.themes.pink.book";
NSUInteger dot = [str rangeOfString:@"." options:NSBackwardsSearch].location;
NSString *newStr =
[str stringByReplacingCharactersInRange:NSMakeRange(dot+1, [str length]-dot-1)
withString:@"something_else"];
好吧,虽然这不是查找字符的通用解决方案,但在您的特定情况下,您可以“作弊”并通过执行以下操作来保存代码:
[productID stringByDeletingPathExtension];
本质上,我将名称视为文件名,并为此使用 NSString 方法删除最后一个(也是最后一个)扩展名。
您可以使用-[NSString componentsSeparatedByString:@"."]
拆分为组件,使用所需的值创建一个新数组,然后使用[NSArray componentsJoinedByString:@"."]
将修改后的数组再次连接成一个字符串。