如何在此NSString中使用NSRange?
我有以下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"];
您可以使用-[NSString componentsSeparatedByString:@"."]
拆分成组件,使用所需的值创建一个新数组,然后使用[NSArray componentsJoinedByString:@"."]
将修改后的数组再次连接成一个字符串。
好吧,虽然这不是查找字符的通用解决方案,但在您的特定情况下,您可以通过这样做来“欺骗”并保存代码:
[productID stringByDeletingPathExtension];
基本上,我将名称视为文件名,并为此目的使用NSString方法删除最后一个(也是最后一个)扩展名。
- 如何在UICollectionViewCell中使用详细披露button?
- 从重用的自定义单元格中的按钮传递数据
- 在Xcode 9和iOS 11中启用无线构建/调试
- 我怎样才能收到其他应用程序的推送通知?
- 在types中找不到枚举大小写开关
- 如何在UItableview下使用UItableview创build一个手风琴?
- 为什么Swift UITableViewController模板在tableView cellForRowAtIndexPath方法中使用可选参数?
- 如何在iPhone中的静音模式下使用AVAudioPlayer播放声音
- 如何使UITableView不改变imageView的框架,或调整图像大小来填充框架?