gpt4 book ai didi

objective-c - 循环遍历特定文本的文本字段中的值

转载 作者:行者123 更新时间:2023-12-03 17:47:09 25 4
gpt4 key购买 nike

我有一个 TextField,其值如下所示。

@"Testing<Car>Testing<Car2>Working<Car3 /Car 4> on the code"

在这里,我必须循环遍历文本字段并检查尖括号 (< >) 中是否存在文本。

尖括号内可以有空格或任何特殊字符。

我尝试使用 NSPredicate 和 ComponentsSeparatedByString,但无法获取其中的确切文本。

有没有办法获得带有尖括号的精确文本。就像上面提到的例子一样,只想要

@"<Car>,<Car2> , <Car3 /Car 4>"

感谢您提前提供的帮助。

最佳答案

一个可能的解决方案是正则表达式。该模式检查 <随后是一个或多个非 >字符和一个> .

enumerateMatchesInString提取子字符串并将它们附加到数组中。最后,数组被展平为单个字符串。

NSString *string = @"Testing<Car>Testing<Car2>Working<Car3 /Car 4> on the code";

NSRegularExpression *regex = [[NSRegularExpression alloc] initWithPattern:@"<[^>]+>" options:0 error:nil];
__block NSMutableArray<NSString *> *matches = [NSMutableArray array];
[regex enumerateMatchesInString:string options:0 range:NSMakeRange(0, string.length) usingBlock:^(NSTextCheckingResult * _Nullable result, NSMatchingFlags flags, BOOL * _Nonnull stop) {
if (result) [matches addObject:[string substringWithRange:result.range]];
}];

NSLog(@"%@", [matches componentsJoinedByString:@", "]);

关于objective-c - 循环遍历特定文本的文本字段中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51842277/

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