for letter in map(UnicodeScalar("a").value...UnicodeScalar("z").value, {(val: UInt32) -> UnicodeScalar in return UnicodeScalar(val); })
{
println(letter)
}
let startChar = Unicode.Scalar("A").value
let endChar = Unicode.Scalar("Z").value
for alphabet in startChar...endChar {
if let char = Unicode.Scalar(alphabet) {
print(char)
}
}
(Unicode.Scalar("A").value...Unicode.Scalar("Z").value).forEach({
let letter = Unicode.Scalar($0)!
print(letter)
/* do other stuff with letter here */
})
9条答案
按热度按时间lsmepo6l1#
在Swift中,你可以像这样迭代字符串:
雨燕2
雨燕1.2
也许有更好的办法。
xcitsw882#
这有点麻烦,但下面的代码是有效的(Swift 3/4):
我怀疑这里的问题是,对于不同的字符串编码,“a”...“z”的含义可能会有所不同。
(老东西)
也很麻烦,但没有额外的中间变量:
evrscar23#
r8uurelv4#
Swift 4.2版本更简单
eeq64g8w5#
针对Swift 3.0及更高版本进行了更新
f8rj6qna6#
详情
溶液
用法
vuktfyat7#
此解决方案适用于Swift 3.0,并将根据OP请求打印出值:
或者为您提供一个字母数组:
sg24os4d8#
“纯功能性”Swift 5方式:
6vl6ewon9#
你试过这个吗?
如果您已经知道字符代码