Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在swift 4中获得子字符串?_Swift_String_Swift4 - Fatal编程技术网

如何在swift 4中获得子字符串?

如何在swift 4中获得子字符串?,swift,string,swift4,Swift,String,Swift4,我知道我们可以用下标在Swift 4中剪切字符串的一部分 let s = "aString" let subS = s[..<s.endIndex] 让s=“aString” 让subS=s[…正如您所说的错误是,二进制运算符“-”不能应用于“String.Index”和“Int”类型的操作数 您必须首先找到Swift.Index let s = "aString" let index = s.index(s.endIndex, offsetBy: -3) let subS = s[..

我知道我们可以用下标在Swift 4中剪切字符串的一部分

let s = "aString"
let subS = s[..<s.endIndex]
让s=“aString”

让subS=s[…正如您所说的错误是,
二进制运算符“-”不能应用于“String.Index”和“Int”类型的操作数

您必须首先找到
Swift.Index

let s = "aString"
let index = s.index(s.endIndex, offsetBy: -3)
let subS = s[..<index]
print(String(subS))
让s=“aString”
let index=s.index(s.endIndex,偏移量:-3)

让subS=s[…
字符串。Index
不是整数,不能简单地进行减法
s.endIndex-3
,如“集合移动其索引”,请参阅 关于快速进化

必须注意不要将索引移动到有效边界之外。 例如:

或者作为一种变异方法:

var s = "aString"
s.removeLast(min(s.count, 3))
print(s) // "aStr"

我想要的只是一个简单的子字符串,从一开始就是x个字符

func SimpleSubstring(string : String, length : Int) -> String {
    var returnString = string

    if (string.count > length) {
        returnString = String(string[...string.index(string.startIndex, offsetBy: length - 1)])
    }

    return returnString
}
用法


这有什么不对吗?对于
s[…Use可以从@JsW学习,如果原始字符串少于3个字符,这将崩溃。最好按照Martin的建议使用dropLast
let subS = String(s.dropLast(3))
var s = "aString"
s.removeLast(min(s.count, 3))
print(s) // "aStr"
func SimpleSubstring(string : String, length : Int) -> String {
    var returnString = string

    if (string.count > length) {
        returnString = String(string[...string.index(string.startIndex, offsetBy: length - 1)])
    }

    return returnString
}
let myTruncatedString : String = SimpleSubstring(string: myBigString, length: 10)