如何读取swift中字符串的最后20位

如何读取swift中字符串的最后20位,swift,Swift,我有一个swift程序,我需要在其中读取字符串的最后20位 虽然我更喜欢最后20位数字,但如果让它更简单的话,前20位也可以 以及读取除最后20位以外的所有数字的方法。您可以使用后缀: String(yourString.characters.suffix(20)) 这很有趣,因为您希望找到答案的地方是字符串函数——例如,这里是Javascript的string.substr()的Swift等价物 你想要的是 String str = ... str.substringFromIndex(ad

我有一个swift程序,我需要在其中读取字符串的最后20位

虽然我更喜欢最后20位数字,但如果让它更简单的话,前20位也可以


以及读取除最后20位以外的所有数字的方法。

您可以使用
后缀:

String(yourString.characters.suffix(20))

这很有趣,因为您希望找到答案的地方是字符串函数——例如,这里是Javascript的string.substr()的Swift等价物

你想要的是

String str = ...
str.substringFromIndex(advance(str.startIndex, 20)) // first 20 chars
str.substringFromIndex(advance(str.endIndex, -20)) // last 20 chars
在任何情况下,您都需要检查str是否少于20个字符,并只返回字符串本身

您可以通过以下方式确定字符串长度:
count(str)(旧的Swift版本)或str.characters.count(Swift 1.2)

这是新的吗?当我在操场上尝试时,我会出错。(仅供参考,我自己检查过了,它是在Swift 1.2中添加的。我需要在这台机器上更新XCode)语法适用于Swift 2,但后缀在1.2中也可用。Swift中的字符串函数都是不透明的,使用起来并不特别方便。有些东西很容易修复,为什么呢?如果字符串长度小于20,这个解决方案不会崩溃。修改这个问题似乎有点苛刻。Swift中的字符串操作在许多方面都非常不方便。