今天在玩替换字符换中的某一区域的字符串时候懵逼了,貌似在swift中并没有oc中那么友好,总结结果如下:
1.方法一:swift中的替换某一区域使用的是Range
let levels = "ABCDE"
let startIndex = levels.startIndex
let endIndex = levels.endIndex
let indexPositionOne = String.Index.init(encodedOffset: 1)
let inddexPositionTwo = String.Index.init(encodedOffset: 4)
let swiftRange = indexPositionOne ..< inddexPositionTwo
let tempLe = levels.replacingCharacters(in: swiftRange, with: "AAAA")
print("tempLe===>\(tempLe)")
2.方法二:swift中的替换某一区域使用的是Range
let levels = "ABCDE"
let nsRange = NSMakeRange(1, 4)
let indexPositionOne = levels.index(levels.startIndex, offsetBy: 1)
let swiftRange = indexPositionOne ..< levels.index(levels.startIndex, offsetBy: 5)
let tepLevel = levels.replacingCharacters(in: swiftRange, with: "AAAA")
print("tepLevel:\(tepLevel)")
3.方法三:把swift中的String
转换成 NSString
然后进行替换,然后使用 NSString
中的NSRange
进行操作。
let levels = "ABCDE"
let nsRange = NSMakeRange(1, 4)
let tepLevel = (levels as NSString).replacingCharacters(in: nsRange, with: "AAAA")
print("tepLevel:\(tepLevel)")
网友评论