gpt4 book ai didi

objective-c - 字符在 NSString 或 NSMutableString 中的位置

转载 作者:太空狗 更新时间:2023-10-30 03:21:30 29 4
gpt4 key购买 nike

我已经搜索了几个小时,但没有找到解决我的问题的方法。我有一个如下所示的 NSString:

"spacer": ["value1", "value2"], "spacer": ["value1", "value2"], ...

我想做的是从字符串中删除 [ ] 字符。使用 objective-c 似乎是不可能的。大多数其他编程语言都提供像 strpos 或 indexOf 这样的函数,它们允许我搜索字符或字符串并定位它的位置。但是在 objective-c 中似乎没有这样的东西。

有没有人知道如何删除这些字符?此外,字符串中还有 [] 字符应该保留,所以我不能只使用 NSMutableString stringByReplacingOccurencesOfString:withString。我需要先搜索间隔字符串,然后仅删除接下来的两个 [] 字符。

谢谢你帮助我。

最佳答案

要查找字符串中出现的字符串,请使用 NSString 中的 rangeOfXXX 方法类(class)。然后你可以构造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);

String Programming Guide有更多详细信息。
或者,您也可以使用 NSScanner 类。

关于objective-c - 字符在 NSString 或 NSMutableString 中的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2379997/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com