又是我。刚才我问过一个类似的问题,但这个问题有点复杂。我正计划使用 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 的方法:-)
最佳答案
这个解决方案假设你的字符串末尾总是有一个空格......它应该转换
Here is an example string HELLO
...到:
Here is an example stringtext that i wantHELLO
...因为这就是我所理解的你想要做的。
代码如下:
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:]
方法。
注意:如果字符串末尾并不总是包含空格,则此代码可能会失败,并且您需要稍微复杂一些的代码。如果是这样,请告诉我,我会更新答案。
免责声明:我没有测试代码,但它应该可以正常编译和工作。
关于iphone - 如何进行向后搜索以找到第二个空格/空白并将其替换为另一个字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4515058/