我写了一个代码,它会从字符串中分割内容,检查内容是否有引号作为第一个字符,然后将它们组合成两个字符串: 一个以引号开头,一个不以引号开头。我有以下代码,但是当我运行它时,似乎没有检测到引号。
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);
我在这里做错了吗?
答案 0 :(得分:4)
不要使用!=
或任何其他相等运算符来比较NSString
。请改用-[NSString isEqualToString:]
:
![[[detailTextLabelContentArray objectAtIndex:index] substringToIndex:1] isEqualToString:@"\""]
等于运算符仅比较指针相等,而不是对象相等。
答案 1 :(得分:1)
NSString *str=@"\"hello";
NSRange range={0,1};
[[str substringWithRange:range] isEqualToString:@"\""];