是否可以在Swift中將每個字符串放入數組中?如何在Swift中將字符串的每個單詞放入數組中?
例如:
var str = "Hello, Playground!"
到:
var arr = ["Hello","Playground"]
謝謝:)
是否可以在Swift中將每個字符串放入數組中?如何在Swift中將字符串的每個單詞放入數組中?
例如:
var str = "Hello, Playground!"
到:
var arr = ["Hello","Playground"]
謝謝:)
編輯/更新:
斯威夫特3.X
extension String {
var wordList: [String] {
return components(separatedBy: .punctuationCharacters)
.joined()
.components(separatedBy: .whitespaces)
}
}
SWIFT 2.1
let myWordList = "Hello, Playground!".wordList // ["Hello", "Playground"]
這最後溶液(來自LEO)將創建陣列中空元素當存在字符串中多個連續的空格。它還會合並用「 - 」分隔的單詞並將行尾字符處理爲單詞。
這一個不會:
extension String
{
var wordList: [String]
{
return componentsSeparatedByCharactersInSet(NSCharacterSet.alphanumericCharacterSet().invertedSet).filter({$0 != ""})
}
}
兩個答案目前與斯威夫特4,但下列可以覆蓋OP的問題&希望你的。
extension String {
var wordList: [String] {
return components(separatedBy: CharacterSet.alphanumerics.inverted).filter { !$0.isEmpty }
}
}
let string = "Hello, Playground!"
let stringArray = string.wordList
print(stringArray) // ["Hello", "Playground"]
而且隨着用數字和一個雙空間更長的短語:
let biggerString = "Hello, Playground! This is a very long sentence with 123 and other stuff in it"
let biggerStringArray = biggerString.wordList
print(biggerStringArray)
// ["Hello", "Playground", "This", "is", "a", "very", "long", "sentence", "with", "123", "and", "other", "stuff", "in", "it"]
相關[夫特:分割字符串到一個數組(http://stackoverflow.com/questions/25678373/swift -split-A-串 - 進入 - 一個陣列) – 2015-01-09 22:38:40