我正在尝试制作一个自动更正系统,当用户输入大写字母的单词时,自动更正不起作用。为了解决这个问题,我复制了键入的字符串,应用了 .lowercaseString,然后比较它们。如果字符串确实输入错误,则应该更正该单词。然而,替换键入的单词的单词都是小写的。所以我需要将 .uppercaseString 仅应用于第一个字母。我原本以为我可以使用
nameOfString[0]
但这显然行不通。如何将字符串的第一个字母变为大写,然后能够打印第一个字母大写的完整字符串?
谢谢你的帮助!
包括符合 API 指南的变异和非变异版本。
Swift 3:
extension String {
func capitalizingFirstLetter() -> String {
let first = String(characters.prefix(1)).capitalized
let other = String(characters.dropFirst())
return first + other
}
mutating func capitalizeFirstLetter() {
self = self.capitalizingFirstLetter()
}
}
Swift 4:
extension String {
func capitalizingFirstLetter() -> String {
return prefix(1).uppercased() + self.lowercased().dropFirst()
}
mutating func capitalizeFirstLetter() {
self = self.capitalizingFirstLetter()
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)