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

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


当前回答

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

其他回答

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

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

NSString *stringWithoutAsterisk(NSString *string) {
    NSRange asterisk = [string rangeOfString:@"*"];
    return asterisk.location == 0 ? [string substringFromIndex:1] : string;
}

另一种方法。

希望它能帮助某人……

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

你可以使用NSString的-hasPrefix:方法:

objective - c:

NSString* output = nil;
if([string hasPrefix:@"*"]) {
    output = [string substringFromIndex:1];
}

迅速:

var output:String?
if string.hasPrefix("*") {
    output = string.substringFromIndex(string.startIndex.advancedBy(1))
}