如何在swift 4中获得子字符串?
我知道我们可以用下标在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[..
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)