我有HEX颜色作为NSStrings并且想要检查特定字符串是否包含第一,第三或第五个字符的F,但是如果它包含第二,第四或第六个字符的F则忽略它。
这是为了确定所讨论的颜色是否为浅色。
我搜索了这个,但只找到了有关如何查找字符范围的答案。
答案 0 :(得分:3)
您可以使用NSString的characterAtIndex成员。
char fifthChar = [yourString characterAtIndex:5];
答案 1 :(得分:2)
正如@Daniel Pereira所说,您可以使用-[NSString characterAtIndex:]
方法检查字符。
NSString *string = /* Assume this exists */;
if ([string characterAtIndex: 1] == 'F' || \
[string characterAtIndex: 3] == 'F' || \
[string characterAtIndex: 5] == 'F')
{
// F at odd-indexed character
}
else
{
// Do other stuff here...
}
答案 2 :(得分:0)
您是否尝试过使用characterAtIndex
?您可以使用该方法检索第一个,第三个和第五个字符(当然是一次一个)的字符串,并将其与F进行比较。
请注意,所有HEX颜色必须为6个字符。有时,您可以仅使用三个十六进制值表示颜色(例如,FFF仍然会在HTML中为白色)。因此,如果您的颜色仅使用三个字符表示,并且您尝试在索引5处获取char,则该方法将抛出“超出范围”的异常。