我正在尝试从Swift5中的给定输入String中提取部分String。就像字符串的2到5个字母一样。
我确定,像inputString[2...5]
这样简单的方法会起作用,但我只能使它像这样工作:
String(input[(input.index(input.startIndex, offsetBy: 2))..<(input.index(input.endIndex, offsetBy: -3))])
...仍在使用相对位置( endIndex-3 代替#5 )
现在我想知道我到底在哪里搞砸了。
人们通常如何通过绝对位置从“ abcdefgh”中提取“ cde”?
答案 0 :(得分:0)
我为速记子字符串编写了以下扩展名,而不必在我的主代码中处理索引和强制转换:
id_emp|name_emp|Description
1 |Cristiano|Forward
2 |Gaúcho |Middle
3 |Fenômeno |Forward
输出extension String {
func substring(from: Int, to: Int) -> String {
let start = index(startIndex, offsetBy: from)
let end = index(start, offsetBy: to - from + 1)
return String(self[start ..< end])
}
}
let testString = "HelloWorld!"
print(testString.substring(from: 0, to: 4)) // 0 to 4 inclusive
。