Dom*_*nik 12 replace objective-c nsstring nsmutablestring
我现在已经搜索了几个小时,但没有找到解决我问题的方法.我有一个NSString,如下所示:
"spacer":["value1","value2"],"spacer":["value1","value2"],...
我想要做的是从字符串中删除[]字符.使用objective-c似乎是不可能的.大多数其他编程语言提供了诸如strpos或indexOf之类的函数,它允许我搜索字符或字符串并找到它的位置.但是在目标c中似乎没有这样的东西.
有没有人知道如何删除这些字符?另外在字符串中有[]字符应该保留,所以我不能只使用NSMutableString stringByReplacingOccurencesOfString:withString.我需要首先搜索spacer string,然后只删除接下来的两个[]字符.
感谢你们对我的帮助.
小智 23
要在字符串中查找字符串的出现次数,请使用NSString类中的rangeOfXXX方法.然后你可以构造NSRanges来提取子串等.
此示例仅删除示例字符串中的第一组打开/关闭括号...
NSString *original = @"\"spacer\": \[\"value1\", \"value2\"], \"spacer\": \[\"value1\", \"value2\"]";
NSLog(@"%@", original);
NSRange startRange = [original rangeOfString:@"\["];
NSRange endRange = [original rangeOfString:@"]"];
NSRange searchRange = NSMakeRange(0, endRange.location);
NSString *noBrackets = [original stringByReplacingOccurrencesOfString:@"\[" withString:@"" options:0 range:searchRange];
noBrackets = [noBrackets stringByReplacingOccurrencesOfString:@"]" withString:@"" options:0 range:searchRange];
NSLog(@"{%@}", noBrackets);
Run Code Online (Sandbox Code Playgroud)
该字符串编程指南有更多的细节.
您也可以使用NSScanner类.
| 归档时间: |
|
| 查看次数: |
36351 次 |
| 最近记录: |