gpt4 book ai didi

ios - NSRegularExpression 搜索字符串 "*string*"

转载 作者:行者123 更新时间:2023-11-29 12:25:48 24 4
gpt4 key购买 nike

我有一个字符串列表,我想搜索像 A 这样的字符串,这意味着它只出现在中间,而不是第一个或最后一个。我的代码在这里:当我运行所有 3 个案例时,但只有案例“う上あ”为真

- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
NSArray *array = @[@"上あう", @"う上あ", @"あう上"];
NSString *stringNeedToFind = @"*上*";
for (NSString *string in array) {
if ([[self regularExpressionFromValue: stringNeedToFind] numberOfMatchesInString:string options: 0 range: NSMakeRange(0, string.length)]) {
NSLog(@"String containt.");
}
}
}

- (NSRegularExpression *) regularExpressionFromValue: (NSString *) value
{
NSString *pattern = [NSRegularExpression escapedPatternForString: value];
pattern = [pattern stringByReplacingOccurrencesOfString: @"\\*" withString: @".*"];
pattern = [pattern stringByReplacingOccurrencesOfString: @"\\?" withString: @"."];
pattern = [pattern stringByReplacingOccurrencesOfString: @".*.*.*" withString: @"\\*"];
pattern = [pattern stringByReplacingOccurrencesOfString: @"..." withString: @"\\?\\?\\?"];
pattern = [NSString stringWithFormat: @"^%@$", pattern];
return [NSRegularExpression regularExpressionWithPattern: pattern options: 0 error: NULL];
}

最佳答案

据我所知,星号 (*) 用作运算符来检查字符(集)是否出现 0 次或多次。我认为您应该使用加号 (+),例如像这样:^.+上.+$,意思是开头和结尾应该有1个或多个字符。

关于ios - NSRegularExpression 搜索字符串 "*string*",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29163442/

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