Swift中如何获取可变长度字符串去掉末尾XXX后的部分
在Swift中移除字符串末尾固定后缀的方法
如果你确定字符串末尾始终是固定长度的"XXX"(3个字符),可以直接用和Python逻辑对应的方式截断:
let code = "ABCDEFGXXX" // 方法1:用prefix截断 let text1 = String(code.prefix(code.count - 3)) // 方法2:通过索引范围截取 let endIndex = code.index(code.endIndex, offsetBy: -3) let text2 = String(code[..<endIndex])
两种方法最终得到的text1和text2都是"ABCDEFG",和Python的code[:-3]效果完全一致。
如果想更灵活(比如以后后缀可能变成其他长度的字符串),可以先检查字符串是否以目标后缀结尾,再移除它:
let code = "ABCDEFGXXX" let targetSuffix = "XXX" if code.hasSuffix(targetSuffix) { // 方法1:移除末尾对应长度的字符 let text = String(code.dropLast(targetSuffix.count)) // 方法2:替换末尾的后缀(.anchored确保只替换末尾的匹配项) let text = code.replacingOccurrences(of: targetSuffix, with: "", options: .anchored) }
这种方式不用硬写数字,维护起来更方便,就算后缀长度变了,只需要修改targetSuffix的值就行。
内容的提问来源于stack exchange,提问作者Marek Maďar
相关产品推荐
相关产品推荐

