我的问题是如何从单词中获取字符
我需要的结果是
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)
答案 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。