从NSString中删除字符?
NSString *myString = @"ABCDEFG";
我想删除空格,所以新的string将是“ABCDEFG”。
你可以使用:
NSString *stringWithoutSpaces = [myString stringByReplacingOccurrencesOfString:@" " withString:@""];
如果你想一次支持多个空格,或者支持任何空格,你可以这样做:
NSString* noSpaces = [[myString componentsSeparatedByCharactersInSet:[NSCharacterSet whitespaceCharacterSet]] componentsJoinedByString:@""];
采取从NSString
stringByReplacingOccurrencesOfString:withString:
返回一个新的string,其中接收方中所有出现的目标string被另一个给定的stringreplace。
- (NSString *)stringByReplacingOccurrencesOfString:(NSString *)target withString:(NSString *)replacement
参数
目标
The string to replace.
替代
The string with which to replace target.
返回值
一个新的string,其中接收者中所有出现的目标被replacereplace。
以上所有将正常工作。 但正确的方法是这样的:
yourString = [yourString stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
它将像TRIM方法一样工作。 它将删除所有的前面和后面的空间。
谢谢
如果string是可变的 ,那么你可以使用这种forms在适当的位置进行转换:
[string replaceOccurrencesOfString:@" " withString:@"" options:0 range:NSMakeRange(0, string.length)];
如果您希望结果是inputstring的可变实例,这也是有用的:
NSMutableString * string = [concreteString mutableCopy]; [string replaceOccurrencesOfString:@" " withString:@"" options:0 range:NSMakeRange(0, string.length)];
你可以试试这个
- (NSString *)stripRemoveSpaceFrom:(NSString *)str { while ([str rangeOfString:@" "].location != NSNotFound) { str = [str stringByReplacingOccurrencesOfString:@" " withString:@""]; } return str; }
希望这会帮助你。