你如何检查NSString是否以一个特定的字符(字符*)开始。
*是单元格类型的指示器,所以我需要这个NSString的内容没有*,但需要知道*是否存在。
你如何检查NSString是否以一个特定的字符(字符*)开始。
*是单元格类型的指示器,所以我需要这个NSString的内容没有*,但需要知道*是否存在。
当前回答
hasPrefix工作得特别好。 例如,如果你在NSString中寻找一个http url,你会使用componentsSeparatedByString创建一个NSArray,并使用hasPrefix迭代数组以http开头的元素。
NSArray *allStringsArray =
[myStringThatHasHttpUrls componentsSeparatedByString:@" "]
for (id myArrayElement in allStringsArray) {
NSString *theString = [myArrayElement description];
if ([theString hasPrefix:@"http"]) {
NSLog(@"The URL is %@", [myArrayElement description]);
}
}
hasPrefix返回一个布尔值,指示给定字符串是否与接收方的开头字符匹配。
- (BOOL)hasPrefix:(NSString *)aString,
parameter aString是你要找的字符串 如果string与接收方的开头字符匹配,则返回值为YES,否则为NO。如果aString为空则返回NO。
其他回答
使用characterAtIndex:。如果第一个字符是星号,使用substringFromIndex:获取不带'*'的字符串。
hasPrefix工作得特别好。 例如,如果你在NSString中寻找一个http url,你会使用componentsSeparatedByString创建一个NSArray,并使用hasPrefix迭代数组以http开头的元素。
NSArray *allStringsArray =
[myStringThatHasHttpUrls componentsSeparatedByString:@" "]
for (id myArrayElement in allStringsArray) {
NSString *theString = [myArrayElement description];
if ([theString hasPrefix:@"http"]) {
NSLog(@"The URL is %@", [myArrayElement description]);
}
}
hasPrefix返回一个布尔值,指示给定字符串是否与接收方的开头字符匹配。
- (BOOL)hasPrefix:(NSString *)aString,
parameter aString是你要找的字符串 如果string与接收方的开头字符匹配,则返回值为YES,否则为NO。如果aString为空则返回NO。
你可以使用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))
}
NSString *stringWithoutAsterisk(NSString *string) {
NSRange asterisk = [string rangeOfString:@"*"];
return asterisk.location == 0 ? [string substringFromIndex:1] : string;
}
这个漂亮的小代码是我偶然发现的,我还没有在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 = @"&amp;";
//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);
这一行超级简单,可以同时执行三个动作:
检查字符串中不需要的字符 可以替换成你喜欢的任何东西吗 不影响周围的代码