你如何检查NSString是否以一个特定的字符(字符*)开始。

*是单元格类型的指示器,所以我需要这个NSString的内容没有*,但需要知道*是否存在。


当前回答

使用characterAtIndex:。如果第一个字符是星号,使用substringFromIndex:获取不带'*'的字符串。

其他回答

另一种方法。

希望它能帮助某人……

if ([[temp substringToIndex:4] isEqualToString:@"http"]) {
  //starts with http
}

使用characterAtIndex:。如果第一个字符是星号,使用substringFromIndex:获取不带'*'的字符串。

你可以使用:

NSString *newString;
if ( [[myString characterAtIndex:0] isEqualToString:@"*"] ) {
     newString = [myString substringFromIndex:1];
}
NSString* expectedString = nil;
if([givenString hasPrefix:@"*"])
{
   expectedString = [givenString substringFromIndex:1];
}

作为一个更通用的答案,尝试使用hasPrefix方法。例如,下面的代码检查字符串是否以10开头,这是用于识别某个问题的错误代码。

NSString* myString = @"10:Username taken";

if([myString hasPrefix:@"10"]) {
      //display more elegant error message
}