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

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


当前回答

这可能有用吗?:)

http://developer.apple.com/mac/library/documentation/Cocoa/Reference/Foundation/Classes/NSString_Class/Reference/NSString.html / / apple_ref / occ instm / NSString / characterAtIndex:

只需搜索索引为0的字符,并将其与您正在寻找的值进行比较!

其他回答

这可能有用吗?:)

http://developer.apple.com/mac/library/documentation/Cocoa/Reference/Foundation/Classes/NSString_Class/Reference/NSString.html / / apple_ref / occ instm / NSString / characterAtIndex:

只需搜索索引为0的字符,并将其与您正在寻找的值进行比较!

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

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

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

你可以使用:

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

另一种方法。

希望它能帮助某人……

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

这个漂亮的小代码是我偶然发现的,我还没有在Stack上看到它的建议。它只在你想删除或修改的字符存在的情况下才有效,这在很多情况下都很方便。如果字符/s不存在,它不会改变你的NSString:

NSString = [yourString stringByReplacingOccurrencesOfString:@"YOUR CHARACTERS YOU WANT TO REMOVE" withString:@"CAN either be EMPTY or WITH TEXT REPLACEMENT"];

我是这样使用它的:

//declare what to look for
NSString * suffixTorRemove = @"</p>";
NSString * prefixToRemove = @"<p>";
NSString * randomCharacter = @"</strong>";
NSString * moreRandom = @"<strong>";
NSString * makeAndSign = @"&";

//I AM INSERTING A VALUE FROM A DATABASE AND HAVE ASSIGNED IT TO returnStr
returnStr = [returnStr stringByReplacingOccurrencesOfString:suffixTorRemove withString:@""];
returnStr = [returnStr stringByReplacingOccurrencesOfString:prefixToRemove withString:@""];
returnStr = [returnStr stringByReplacingOccurrencesOfString:randomCharacter withString:@""];
returnStr = [returnStr stringByReplacingOccurrencesOfString:moreRandom withString:@""];
returnStr = [returnStr stringByReplacingOccurrencesOfString:makeAndSign withString:@"&"];

//check the output
NSLog(@"returnStr IS NOW: %@", returnStr);

这一行超级简单,可以同时执行三个动作:

检查字符串中不需要的字符 可以替换成你喜欢的任何东西吗 不影响周围的代码