如何访问NSString中的第n个字符?

时间:2011-09-28 21:23:58

标签: iphone ios nsstring

我有HEX颜色作为NSStrings并且想要检查特定字符串是否包含第一,第三或第五个字符的F,但是如果它包含第二,第四或第六个字符的F则忽略它。

这是为了确定所讨论的颜色是否为浅色。

我搜索了这个,但只找到了有关如何查找字符范围的答案。

3 个答案:

答案 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,则该方法将抛出“超出范围”的异常。