在Swift5中获取部分String

时间:2019-06-15 21:54:35

标签: swift string substring swift5

我正在尝试从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”?

1 个答案:

答案 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