gpt4 book ai didi

ios - 如何比较 char/single char 字符串 - 与一些字母表集

转载 作者:行者123 更新时间:2023-11-28 18:01:29 26 4
gpt4 key购买 nike

在我的应用程序中,我必须根据起始字母为不同的名称显示不同的颜色

abcdeABCDE - gray color
:
:
pqrsPQRS - red Color
vuwxyzUVWXYZ - black color.

我是这样实现的..

这给出了我想要的正确结果,但这不是最佳解决方案

有什么简单的解决办法吗

NSString *FirstLetter = [empName substringFromIndex:1];

if ( [FirstLetter isEqualToString:@"p"] || [FirstLetter isEqualToString:@"q"] || [FirstLetter isEqualToString:@"r"] || [FirstLetter isEqualToString:@"=s"] || [FirstLetter isEqualToString:@"P"] || [FirstLetterisEqualToString:@"Q"] || [FirstLetter isEqualToString:@"R"] || [FirstLetter isEqualToString:@"S"])
{
cell.textalbel.textColr =[UIColor redColor];
}

最佳答案

有很多方法可以实现这一点,但最简单的可能就是这样:

static UIColor *colorForFirstLetterOfString(NSString *string) {
unichar c = [[[string substringToIndex:1] lowercaseString] characterAtIndex:0];
if (c >= 'a' && c <= 'e') return [UIColor grayColor];
// ...
else if (c >= 'p' && c <= 's') return [UIColor redColor];
else if (c >= 'u' && c <= 'z') return [UIColor blackColor];
else return nil;
}

如果您需要超出 ASCII 字符集,您可以使用数字常量作为 Unicode 代码点,如下所示:

// lower-case Greek letters
else if (c >= 0x03B1 && c <= 0x03C9) return [UIColor blueColor];

或者您可以在字符常量上使用 L 前缀,如下所示:

// lower-case Greek letters
else if (c >= L'α' && c <= L'ω') return [UIColor blueColor];

关于ios - 如何比较 char/single char 字符串 - 与一些字母表集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16890051/

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