Objective-c:包含空格的字符串长度

时间:2011-12-03 12:16:05

标签: iphone xcode string spaces

我试图获取包含空格的字符串中的字符数。 如果我有一个字符串说:“你好,你好吗?” 我运行这段代码:

 NSUInteger newLength = [myString length];

它返回15。 当你包含空格时,有18个字符...那么我应该使用什么代码?或者我将不得不运行代码来替换所有空格,例如asterix等字符,计算字符数,然后将字符串设置回原始字符串。这不会太糟糕,除非我必须多次这样做,所以我正在寻找一种更快捷的方法。谢谢!

3 个答案:

答案 0 :(得分:2)

你能发布你的字符串创建代码吗?这对我来说似乎很奇怪。但NSString长度doc确实说:

  

接收器中的Unicode字符数。

在任何情况下,你都可以获得c字符串并使用strlen,也许这会有所帮助。

size_t length = strlen([myString cStringUsingEncoding:NSUTF8StringEncoding]);

答案 1 :(得分:2)

来自Documentation ..

[string length];   

返回接收器中的Unicode字符数。 Space也是一个unicode字符

答案 2 :(得分:0)

您可以使用它来获取字符串的长度,包括空格:

NSUInteger newLength = [myString length];

(也就是说,你不应该被退回15,但是18)