Swift 2.0中的字符串索引:如何为字符串编制索引?
我正在尝试获取字符串的内容:Swift 2.0中的字符串索引:如何为字符串编制索引?,swift,swift2,Swift,Swift2,我正在尝试获取字符串的内容: var oldString = "hi this \t is my \t string" oldString = String(oldString.componentsSeparatedByString("\t")) print(oldString[1]) 我得到错误:“‘下标’不可用:无法为字符串下标 带一个Int…” 如何访问包含在另一个字符串中的字符串? 我想到的唯一方法是使用以下方法逐个字符地获取字符: for index in content.chara
var oldString = "hi this \t is my \t string"
oldString = String(oldString.componentsSeparatedByString("\t"))
print(oldString[1])
我得到错误:“‘下标’不可用:无法为字符串下标
带一个Int…”
如何访问包含在另一个字符串中的字符串?
我想到的唯一方法是使用以下方法逐个字符地获取字符:
for index in content.characters.indices{
print(String(oldString[index]))
}
上述代码导致:
h,
i,
t,
h,
..
我需要:
hi this,
is my,
string
提前谢谢你 您应该阅读错误消息并找出错误消息的来源。 您的
字符串(oldString.componentsSeparatedByString(“\t”)
为您提供了一个字符串
而不是[String]
您需要做的是将
oldString.componentsSeparatedByString(“\t”)
分配给数组:
let stringArray = oldString.componentsSeparatedByString("\t")
for str in stringArray {
print(str)
}
在swift中,您可以扩展任何类型,并为不同的操作添加重载。在下面的示例中,我们创建了一个扩展,它允许您对返回的每个单词下标
String
,并从字符串中获取一个数组
只需将其粘贴到操场中进行测试:
extension String {
func array() -> [String] {
return self.componentsSeparatedByString("\t")
}
subscript (i: Int) -> String {
return self.componentsSeparatedByString("\t")[i]
}
}
添加扩展后,您可以在整个应用程序中使用它,如下所示:
var str = "hi this \t is my \t string"
print(str[0]) //prints hi this
for i in str.array() {
print(i)
}
印刷品:
嗨,这个
是我的
串
这是有道理的。如何将其设置为[String]?
oldString。componentsSeparatedByString(“\t”)
返回一个[String]
。您正在获取结果并从中生成一个新字符串,这不是您想要做的。
var str = "hi this \t is my \t string"
print(str[0]) //prints hi this
for i in str.array() {
print(i)
}