我想编辑以下字符串:
var someString = "I wan't this text {something I don't want}"
我想删除两个大括号中包含的所有文本,无论该文本有多长。当我知道范围时,我一直在使用以下代码删除字符串的一部分:
extension String {
mutating func deleteCharactersInRange(range: NSRange) {
let mutableSelf = NSMutableString(string: self)
mutableSelf.deleteCharactersInRange(range)
self = mutableSelf
}
}
但是,我不知道问题的范围。有什么想法吗?
最佳答案
将 NSString
和 NSRange
与 Swift 的 String
和 Range
混合使用时,使用字符串和范围可能会非常具有挑战性.
这是一个纯粹的 Swift 解决方案。
var someString = "I wan't this text {something I don't want}"
let rangeOpenCurl = someString.rangeOfString("{")
let rangeCloseCurl = someString.rangeOfString("}")
if let startLocation = rangeOpenCurl?.startIndex,
let endLocation = rangeCloseCurl?.endIndex {
someString.replaceRange(startLocation ..< endLocation, with: "")
}
关于ios - 删除字符串范围内的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37484357/