我正在嘗試Swift操場。當我嘗試下面的代碼時,它不起作用,並告訴我'String' does not have a member named 'Characters'
。我期望打印the number of characters in cafe is 4
。你能給我任何提示嗎?謝謝。字符串沒有名字符的成員?
var word = "cafe"
print("the number of characters in \(word) is \(word.characters.count)")
我正在嘗試Swift操場。當我嘗試下面的代碼時,它不起作用,並告訴我'String' does not have a member named 'Characters'
。我期望打印the number of characters in cafe is 4
。你能給我任何提示嗎?謝謝。字符串沒有名字符的成員?
var word = "cafe"
print("the number of characters in \(word) is \(word.characters.count)")
characters
是String
在 「新」 夫特2附帶的Xcode 7的β的特性。
您可能正在使用的Xcode 6.3.2與雨燕1.2,那麼它是
print("the number of characters in \(word) is \(count(word))")
兩件事情雨燕2.0改變了這裏:
String
並不再符合SequenceType
,你有明確地訪問 .characters
,count()
函數已被替換爲「協議擴展」方法count()
。我想你是從iBook閱讀Swift 2教程。這是新功能。它只會在Xcode 7中工作。
使用count字符方法:
println(the number of characters in \(word) is \(count(word))")
與SWIFT 2:
word.characters.count
而且,以獲得實際的字符,你可以撥打:
let characters = Array(string)
然後你可以簡單地電話:
let length = characters.count
但是,您也可以只使用計數功能,如果你不需要重複的文字或任何在雨燕1.2:
let length = count(string)
在斯威夫特2:
let length = string.count()
它works.Thanks 。 Stackoverflow很棒:-) – David
答案很好。請問什麼是最佳實踐(或其他典型做法),以在「新」Swift2中獲取字符串的長度。因爲像word.characters.count這樣的表達式似乎有點複雜。謝謝。 –
@EricTsui:據我所知,這*是*你如何確定長度。正如您從Xcode 7 beta發行說明中可以看到的,已經引入了'characters'屬性以將相當一般的「Unicode擴展字形羣集視圖」與「UTF-16視圖」或「UTF-8視圖」區分開來。所以'word.utf8.count'會給你一個UTF-8字符串的長度。 –