我正在将一个 python 程序转换为 swift,其中一个部分使用 for 循环将每个字符保留在一个字符串中(如果它是一个字母)。在 python 中,它就像使用'.isalpha()'一样简单,swift 中有什么可以做到这一点吗? python 代码:
word = 'hello 123'
new_word = []
for i in word:
if i.isalpha():
new_word.append(i)
最佳答案
Xcode 8 beta4 • Swift 3
extension String {
var lettersOnly: String {
return components(separatedBy: CharacterSet.letters.inverted).joined(separator:"")
}
var lettersArray: [Character] {
return Array(lettersOnly.characters)
}
}
Xcode 7.3.1 • Swift 2.2.1
extension String {
var lettersOnly: String {
return componentsSeparatedByCharactersInSet(NSCharacterSet.letterCharacterSet().invertedSet).joinWithSeparator("")
}
var lettersArray: [Character] {
return Array(lettersOnly.characters)
}
}
swift 1.x
import UIKit
extension String {
var lettersOnly: String {
return "".join(componentsSeparatedByCharactersInSet(NSCharacterSet.letterCharacterSet().invertedSet))
}
var lettersArray: [Character] {
return Array("".join(componentsSeparatedByCharactersInSet(NSCharacterSet.letterCharacterSet().invertedSet)))
}
}
let word = "hello 123"
let letters = word.lettersOnly // "hello"
let lettersArray = word.lettersArray // ["h", "e", "l", "l", "o"]
关于python - 是否有一个函数可以检查字符串中的字符是否是字母表中的字母? ( swift ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30539447/