gpt4 book ai didi

iOS提取子字符串的最快方法

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

我有几千个“动词-名词”形式的字符串,我想为其提取名词部分。我正在寻找最快的方法来做到这一点。动词和名词部分可以是任意长度。

我试过了

NSString *noun = [[verb componentsSeparatedByString:@"-"] lastObject];

这很慢...对于我的超过 3000 个条目的列表,大约需要 3 秒。

也试过

NSString *noun = [verb substringFromIndex:[verb rangeOfString:@"-"].location + 1];

快得多,大约半秒。

有没有人建议让这个过程更快?

最佳答案

如果您使用这些字符串是线程安全的,那么一种选择是使用 GCD 同时迭代多个 verb 值,从而使多个核心起作用。使用 dispatch_apply 而不是您正在使用的任何循环,例如:

dispatch_apply([myWordArray count], queue, ^(size_t i) {
NSString *verb = [myWordArray objectAtIndex:i];
NSString *noun = [verb substringFromIndex:[verb rangeOfString:@"-"].location + 1];

// do something with noun...
});

请记住,这同时执行多个 channel ,因此要非常确定线程问题。

关于iOS提取子字符串的最快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17846041/

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