Swift 1.2,从一个单词中捕获角色

时间:2016-06-16 18:43:17

标签: xcode swift

我的问题是如何从单词中获取字符

我需要的结果是

DisplayChar("asd",1)

它将显示" a"

func DisplayChar(word : String, number : Int) -> String{
    let i: Int = count(word)
    var result = 0
    result = i - (i - number)
    var str = ""
    var j = 0

    for j = 0; j < result; j++ {
        str = str + word[j]
    }

    return str
}

DisplayChar("xyz", 2)

3 个答案:

答案 0 :(得分:0)

此代码应该可以使用

let sentence = "Hello world"
let characters = Array(sentence)
print(characters[0]) // "H"

答案 1 :(得分:0)

this answer中有几个可行的解决方案,下面有两个好的解决方案。

转换为数组

let word = "test"    
var firstChar = Array(word)[0] // t

(注意:这假设是一个UTF8或ASCII编码的字符串,但这对学校来说很可能。)

创建自己的扩展程序

首先是String的扩展来处理下标:

extension String {

  subscript (i: Int) -> Character {
    return self[self.startIndex.advancedBy(i)]
  }

  subscript (i: Int) -> String {
    return String(self[i] as Character)
  }

  subscript (r: Range<Int>) -> String {
    let start = startIndex.advancedBy(r.startIndex)
    let end = start.advancedBy(r.endIndex - r.startIndex)
    return self[Range(start ..< end)]
  }
}

然后你可以使用:

let word = "test"    
var firstChar = word[0] // t

答案 2 :(得分:-1)

Swift字符串有一个名为substringToIndex的方法,"asd".substringToIndex(1)将返回"a"

我不确定它是否适用于Swift 1.2。