从字符串中去除空格

20
NSString *s = @"0800 444 333";

您可以看到,该字符串中间有2个空格。 我的问题是,如何去掉它们,使字符串变成:

s = @"0800444333"
7个回答

66

这可以通过简单的字符串格式化实现。以下是一个示例:

NSString *s = @"0800 444 333";
NSString *secondString = [s stringByReplacingOccurrencesOfString:@" " withString:@""];

查看NSString类参考以获取更多详细信息和选项。

为了进一步简化,这行代码也可以写成这样:

NSString *s = [@"0800 444 333" stringByReplacingOccurrencesOfString:@" " withString:@""];

13

如果您想去掉字符串开头和结尾的空格,则可以使用stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]方法。

例如:

NSString *s = @"0800 444 333";
s = [s stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];

对于去除所有空格,@NSPostWhenIdle的回答已经足够了。


由于某些原因,在iOS 16.2上无法工作。我仍然可以得到“0800 444 333”的输出。 - Supertecnoboff
这将从字符串的开头和结尾删除空格,而不是中间。 - Ravi Sharma

1
我不知道为什么,在我的情况下替换@" "无效。解决方法很简单,只需将空格写成Unicode字符即可:
str = [str stringByReplacingOccurrencesOfString:@"\u00a0" withString:@""];

0

您可以在手机联系人中删除空格,例如“+92 3121245”,变成+923121245。

使用以下代码行:

NSString telNum = @"+92 3121245";

NSString *cNum = [telNum stringByReplacingOccurrencesOfString:@"\u00a0" withString:@""];


0
NSString *s = @"0800 444 333";
NSString *secondString = [s stringByReplacingOccurrencesOfString:@" " withString:@""];

查看 NSString 类参考 以获取更多详细信息和选项。

为了进一步简化,这行代码也可以这样写:

NSString *s = [@"0800 444 333" stringByReplacingOccurrencesOfString:@" " withString:@""];

0
请使用以下代码:
str = [str stringByReplacingOccurrencesOfString:@"\t" withString:@"%20"];

或者

str =  [str stringByReplacingOccurrencesOfString:@" " withString:@"%20"];

-1

NSString *Naveen = @"Naveen Kumar Singh"; NSString *secondString = [Naveen stringByReplacingOccurrencesOfString:@" " withString:@""];

答案:NaveenKumarSingh


你能描述一下与被接受的答案之间的区别吗? - bummi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接