【问题标题】:Append Character to String in Swift在 Swift 中将字符附加到字符串
【发布时间】:2014-11-19 16:08:33
【问题描述】:

我正在尝试使用“+=”将字符附加到字符串,但它并没有真正起作用。 一旦我尝试使用 append 方法,它就可以工作。我只是想知道为什么会这样。 编译器说“字符串与 Unit8 不同”。

let puzzleInput = "great minds think alike"
var puzzleOutput = " "
for character in puzzleInput {

    switch character {
        case "a", "e", "i", "o", "u", " ":
        continue

    default:
        // error : doesn't work
        puzzleOutput += character
        //puzzleOutput.append(character)
    }
}
println(puzzleOutput)

【问题讨论】:

  • 仅供参考,如果您先将character 设为String,它将起作用:puzzleOutput += String(character)

标签: string swift append character


【解决方案1】:

更新版本

let puzzleInput = "great minds think alike"
var puzzleOutput = ""
for character in puzzleInput.characters {
  switch character {
  case "a", "e", "i", "o", "u", " ":
   continue
  default:
    puzzleOutput += String(character)
  }
}
print(puzzleOutput)
// prints "grtmndsthnklk"

【讨论】:

    【解决方案2】:

    要在 Swift 中将 Character 附加到 String,您可以执行以下类似操作:

    var myString: String = "ab"
    let myCharacter: Character = "c"
    let myStringChar: String = "d"
    
    myString += String(myCharacter) // abc
    myString += myStringChar // abcd
    

    【讨论】:

      【解决方案3】:

      20140818,苹果更新:

      更新了连接字符串和字符部分以反映字符串和字符值不能再与加法运算符 (+) 或加法赋值运算符 (+=) 组合的事实。这些运算符现在仅用于字符串值。使用 String 类型的 append 方法将单个 Character 值附加到字符串的末尾。

      Document Revision History 2014-08-18

      【讨论】:

      • 非常感谢。我尝试使用puzzleOutput +=“(字符)”。它有效。
      • @Toshi puzzleOutput += "(\character)" 也应该可以工作。
      • 哦,是的,我的意思是 puzzleOutput += "(\character)" 。还是谢谢!
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-03-02
      • 2015-10-17
      • 1970-01-01
      • 2019-02-13
      • 1970-01-01
      • 1970-01-01
      • 2012-05-28
      相关资源
      最近更新 更多