iphone – 如何进行向后搜索以找到第二个空格/空白并用另一个字
又是我.我刚才问了类似的问题,但这个问题有点复杂.我打算使用
RegexKitLite做我需要做的事情,但我相信这可以完成它.我有一个NSString,其中包含一些带空格/空格的单词,我想要得到最后一个单词左边的字符串中的最后一个空格.示例字符串如下:
NSString *string = @"Here is an example string HELLO "; 正如您在上面的字符串中看到的那样,在字符串的最末端有一个空格/空格.我希望能够获得HELLO左侧的空格/空白并用我自己的文本/字符串替换它.我正在使用NSString的NSBackwardsSearch,但它不起作用. NSString *spaceReplacement = @"text that i want"; NSString *replaced = [snipet [string rangeOfString:substring options:NSBackwardsSearch].location:@" " withString:spaceReplacement]; NSLog(@"%@",replaced); 任何帮助都会有所帮助,我只是厌倦了试图解决这个问题,它让我疯狂.我想我可以用RegexKitLite做到这一点,但考虑到我正在使用的时间框架,我的学习曲线太陡了.我很高兴Jacob R.让我使用NSString的方法:-) 解决方法
此解决方案假设您的字符串末尾始终有空格…它应该转换
… 至:
……因为那是我理解你想做的事情. 这是代码: NSString *string = @"Here is an example string HELLO "; NSRange rangeToSearch = NSMakeRange(0,[string length] - 1); // get a range without the space character NSRange rangeOfSecondToLastSpace = [string rangeOfString:@" " options:NSBackwardsSearch range:rangeToSearch]; NSString *spaceReplacement = @"text that i want"; NSString *result = [string stringByReplacingCharactersInRange:rangeOfSecondToLastSpace withString:spaceReplacement]; 诀窍是使用[NSString rangeOfString:options:range:]方法. 注意:如果字符串末尾并不总是包含空格,则此代码可能会失败,您需要的代码更复杂一些.如果是这种情况,请告诉我,我会更新答案. 免责声明:我没有测试过代码,但它应该编译并且工作得很好. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |