2011-12-03 65 views
1

我試圖獲取包含空格的字符串中的字符數。 如果我有一個字符串說:「你好嗎?」 我運行此代碼:Objective-c:包含空格的字符串長度

NSUInteger newLength = [myString length]; 

返回15 有18個字符,但如果包括空格...所以我應該用什麼代碼?或者我將不得不運行代碼來將所有空格替換爲像asterix這樣的一些字符,計算字符數,然後將字符串設置回它的原始字符串。這不會太糟糕,除非我必須多次這麼做,所以我正在尋找更快的方法。謝謝!

+0

你真的得到15嗎? – Narayana

+2

'[@「你好嗎?」長度]'返回18 – albertamg

+0

看看你是否在你的原始字符串中缺少*「how」*,*「是」*或*「you」* ;-) – EmptyStack

回答

2

你可以發佈你的字符串創建代碼嗎?我覺得很奇怪。但是NSString長度doc確實會這樣說:

接收方中的Unicode字符數。

在任何情況下,你可以得到C字符串,並使用strlen,也許這將有所幫助。

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

您可以使用它來獲取字符串,包括空格的長度:

NSUInteger newLength = [myString length]; 

(也就是,你不應該回到15,但18)

2

Documentation。 。

[string length]; 

返回接收方中的Unicode字符數。 Space也是一個unicode字符

相關問題