小编典典

Swift 仅将 .uppercaseString 应用于字符串的第一个字母

all

我正在尝试制作一个自动更正系统,当用户键入带有大写字母的单词时,自动更正不起作用。为了解决这个问题,我复制了输入的字符串,应用了
.lowercaseString,然后对它们进行了比较。如果字符串确实打错了,它应该更正这个词。但是,替换键入的单词的单词都是小写的。所以我只需要将
.uppercaseString 应用于第一个字母。我原本以为我可以使用

nameOfString[0]

但这显然不起作用。如何将字符串的第一个字母变为大写,然后打印首字母大写的完整字符串?

谢谢你的帮助!


阅读 70

收藏
2022-05-13

共1个答案

小编典典

包括符合 API 指南的变异和非变异版本。

斯威夫特 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()
    }
}

斯威夫特 4:

extension String {
    func capitalizingFirstLetter() -> String {
      return prefix(1).uppercased() + self.lowercased().dropFirst()
    }

    mutating func capitalizeFirstLetter() {
      self = self.capitalizingFirstLetter()
    }
}
2022-05-13