检查字符串中的第一个字符是否为引号

时间:2013-01-05 05:56:27

标签: iphone xcode cocoa-touch ios6 nsstring

我写了一个代码,它会从字符串中分割内容,检查内容是否有引号作为第一个字符,然后将它们组合成两个字符串: 一个以引号开头,一个不以引号开头。我有以下代码,但是当我运行它时,似乎没有检测到引号。

NSArray *detailTextLabelContentArray = [[NSArray alloc] initWithObjects:@"Some",@"Good",@"Stuff",@"\"Lazy\"", nil];
for (NSInteger index = 0; [detailTextLabelContentArray count] > index; index++)
{
    if ([[detailTextLabelContentArray objectAtIndex:index] substringToIndex:1] != @"\"")
    {
        if (index == 0)
        {
            detailTextLabelContent = [[detailTextLabelContentArray objectAtIndex:index] substringToIndex:1];
        }
        else
        {
            detailTextLabelContent = [NSString stringWithFormat:@"%@; %@",detailTextLabelContent,detailTextLabelContent = [[detailTextLabelContentArray objectAtIndex:index] substringToIndex:1]];
        }
    }
}
NSLog(detailTextLabelContent);

我在这里做错了吗?

2 个答案:

答案 0 :(得分:4)

不要使用!=或任何其他相等运算符来比较NSString。请改用-[NSString isEqualToString:]

![[[detailTextLabelContentArray objectAtIndex:index] substringToIndex:1] isEqualToString:@"\""]

等于运算符仅比较指针相等,而不是对象相等。

答案 1 :(得分:1)

 NSString *str=@"\"hello";
 NSRange range={0,1};
[[str substringWithRange:range] isEqualToString:@"\""];