【问题标题】:Get the first character from values of array in Swift从Swift中的数组值中获取第一个字符
【发布时间】:2016-08-25 03:54:45
【问题描述】:

我创建了一个包含两个字符串的数组:

var palabras: [String] = ["Gato", "Martillo"]

我想显示这两个字符串的第一个字符。

我试过了:

letraLabel.text = palabras[round - 1].startIndex.advancedBy(0)

但我收到一个错误:由于信号导致命令失败:分段错误:11 不知道是什么意思。

我也试过了:

letraLabel.text = palabras[round - 1].startIndex

我收到一个错误: 无法将类型“Index”(又名“String.CharacterView.Index”)的值分配给类型“String?”

最后我试过了:

letraLabel.text = palabras[round - 1][palabras.startIndex]

但我也得到了一个错误: 'subscript' 不可用:不能用 Int 为 String 下标,请参阅文档注释进行讨论

如何获取数组的两个单词的第一个字符? 那么,是否需要导入 Foundation 才能获取 String 的第一个字符? 顺便说一句,当我写“import Foundation”时,编译器会向我显示带有划掉线的 Foundation。

【问题讨论】:

标签: arrays string swift indexing character


【解决方案1】:

试试:

letraLabel.text = String(palabras[round - 1].first!)

如果你想创建另一个只有第一个字母的数组:

let palabras = ["Gato", "Martillo"]
let firstLetters = palabras.map { String($0.first!) }
print(firstLetters) // ["G", "M"]

【讨论】:

    【解决方案2】:

    您也可以通过嵌套更轻松地执行此操作,但可以完成工作。假设您有一个带有两个字符串的变量。你可以简单地使用

    someLabel.text = firstName.characters.first?.description + lastName.characters.first?.description
    

    【讨论】:

      【解决方案3】:

      我想你很接近。试试这个

      let charStr = palabras[round - 1]
      letraLabel.text = charStr.substringToIndex(charStr.startIndex.advancedBy(1))
      

      或者如果您希望将所有第一个字符连接在一起:

      letraLabel.text = palabras.map({ $0.substringToIndex($0.startIndex.advancedBy(1)) }).joinWithSeparator("")
      

      【讨论】:

        【解决方案4】:

        怎么样:

        for palabra in palabras {
            let letra = palabra[palabra.startIndex]
            // do something with letra here...
        }
        

        或者,如果您不想遍历每个 palabra,这样的方法可能会起作用:

        let palabra = palabras[0]
        let letra = palabra[palabra.startIndex]
        // do something with letra here...
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2013-06-21
          • 1970-01-01
          • 1970-01-01
          • 2014-12-25
          • 2021-12-24
          • 2015-02-08
          相关资源
          最近更新 更多