gpt4 book ai didi

iphone - 查找 NSString 中子字符串的所有位置(不仅仅是第一个)

转载 作者:行者123 更新时间:2023-11-29 05:47:00 24 4
gpt4 key购买 nike

有一个子字符串在字符串中出现多次。我使用rangeOfString,但似乎只能找到第一个位置。如何找到子字符串的所有位置?

NSString *subString1 = @"</content>";
NSString *subString2 = @"--\n";
NSRange range1 = [newresults rangeOfString:subString1];
NSRange range2 = [newresults rangeOfString:subString2];
int location1 = range1.location;
int location2 = range2.location;
NSLog(@"%i",location1);
NSLog(@"%i",location2);

最佳答案

您可以使用rangeOfString:options:range:并将第三个参数设置为超出第一次出现的范围。例如,您可以执行以下操作:

NSRange searchRange = NSMakeRange(0,string.length);
NSRange foundRange;
while (searchRange.location < string.length) {
searchRange.length = string.length-searchRange.location;
foundRange = [string rangeOfString:substring options:0 range:searchRange];
if (foundRange.location != NSNotFound) {
// found an occurrence of the substring! do stuff here
searchRange.location = foundRange.location+foundRange.length;
} else {
// no more substring to find
break;
}
}

关于iphone - 查找 NSString 中子字符串的所有位置(不仅仅是第一个),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56048433/

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