NSString *myString = @"A B C D E F G";
我想要去掉空格,使新字符串为"ABCDEFG"。
NSString *myString = @"A B C D E F G";
我想要去掉空格,使新字符串为"ABCDEFG"。
你可以使用:
NSString *stringWithoutSpaces = [myString
stringByReplacingOccurrencesOfString:@" " withString:@""];
如果你想同时支持多个空格,或者支持任何空白符号,可以这样做:
NSString* noSpaces =
[[myString componentsSeparatedByCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]
componentsJoinedByString:@""];
A B C D E F
将变为 A B C D E F
。 - Jim Dovey摘自NSString
stringByReplacingOccurrencesOfString:withString:
返回一个新的字符串,其中接收方中所有目标字符串的出现都被另一个给定字符串替换。
- (NSString *)stringByReplacingOccurrencesOfString:(NSString *)target withString:(NSString *)replacement
参数
目标
The string to replace.
替换
The string with which to replace target.
返回值
一个新的字符串,其中接收者中所有目标出现的地方都被替换为替换文本。
所有上述方法都可以正常工作。但正确的方法是:
yourString = [yourString stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
它将像 TRIM 方法一样工作。 它将删除所有前后空格。
谢谢
[NSCharacterSet whitespaceCharacterSet]
和 [NSCharacterSet whitespaceAndNewlineCharacterSet]
存在的意义就在于此。 - Jim Dovey如果该字符串是可变的,则可以使用以下形式就地对其进行转换:
[string replaceOccurrencesOfString:@" "
withString:@""
options:0
range:NSMakeRange(0, string.length)];
如果您希望结果是输入字符串的可变实例,这也非常有用:
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;
}