gpt4 book ai didi

ios - 如何在一个 NSString 中获取 [...] 内的所有字符串?

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

假设给定一个 NSString:

@"[myLabel]-10-[youImageView]"

我需要一个数组:

@[@"myLabel", @"yourImageView"]

我该怎么做?

我考虑过遍历字符串并检查每个“[”和“]”,在其中获取字符串,但是还有其他更好的方法吗?

谢谢

最佳答案

您可以使用正则表达式:

NSString *string = @"[myLabel]-10-[youImageView]";

// Regular expression to find "word characters" enclosed by [...]:
NSString *pattern = @"\\[(\\w+)\\]";
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:pattern
options:0
error:NULL];

NSMutableArray *list = [NSMutableArray array];
[regex enumerateMatchesInString:string
options:0
range:NSMakeRange(0, [string length])
usingBlock:^(NSTextCheckingResult *result, NSMatchingFlags flags, BOOL *stop) {
// range = location of the regex capture group "(\\w+)" in the string:
NSRange range = [result rangeAtIndex:1];
[list addObject:[string substringWithRange:range]];
}
];
NSLog(@"%@", list);

输出:

(    myLabel,    youImageView)

关于ios - 如何在一个 NSString 中获取 [...] 内的所有字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18865724/

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