gpt4 book ai didi

objective-c - 搜索子字符串 (NSString)

转载 作者:塔克拉玛干 更新时间:2023-11-02 10:18:46 26 4
gpt4 key购买 nike

搜索由## $$ 括起来的子字符串的最佳方法是什么。因此,例如,我有一些这样的文本:

Lorem ##ipsum$$ dolor sit amet, ##consectetur$$ adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat。

我想获取单词ipsumconsectetur。我知道我可以使用 NSString rangeofsubstring 方法,但是有更好的方法吗?基本上,找到一个被另外 2 个字符串包围的字符串?谢谢

最佳答案

您可以使用 NSRegularExpression (警告:仅限 iOS4+)使用 RegEx 模式匹配您的子字符串(通常像 @"##.*$$")。

然后很容易遍历结果匹配(我的首选方法是使用枚举 block ,因为我们不是 iOS4 :-)):

NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"##(.*)$$" options:NSRegularExpressionCaseInsensitive error:nil];
[regex enumerateMatchesInString:yourString options:0 range:NSMakeRange(0, [yourString length]) usingBlock:
^(NSTextCheckingResult *match, NSMatchingFlags flags, BOOL *stop) {
NSRange range = [match rangeAtIndex:1]; // range of string in first parens
NSString* oneWord = [yourString substringWithRange:range];
}
];

注意:如果您需要支持 iOS4 之前的版本,您可以检查 NSPredicate但它的灵 active 要差得多(...而且我想对于 iOS4 之前的版本,使用 rangeOfSubstring 可能是最好的选择,因为 NSPredicate 只会告诉您字符串是否匹配但不允许您获取子字符串.. .)

关于objective-c - 搜索子字符串 (NSString),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6525601/

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