Swift 3:stringByReplacingCharactersInRange替代品

时间:2016-10-19 06:13:05

标签: objective-c swift string range swift3

你们中任何人都知道在Swift 3中使用stringByReplacingCharactersInRange吗?

我试图将此Objective-C转换为Swift

strToSort = [strToSort stringByReplacingCharactersInRange:NSMakeRange((i-1),1) withString: [strToSort substringWithRange:NSMakeRange((i),1)]];

我非常感谢你的帮助。

2 个答案:

答案 0 :(得分:7)

在Swift 3中它是。

strToSort = strToSort.replacingCharacters(in: range, with: str)

注意:此范围是Swift Range<String.Index>对象的类型而不是NSRange

有关Range检查Apple Documentation

的详细信息

<强>实施例

let str = "Apple"
let i = 3
let range = str.index(str.startIndex, offsetBy: i-1)..<str.index(str.startIndex, offsetBy: i)
let subStringRange = str.index(str.startIndex, offsetBy: i)..<str.index(str.startIndex, offsetBy: i+1)
print(str.replacingCharacters(in: range, with: str.substring(with: subStringRange)))

<强>输出:

Aplle

答案 1 :(得分:0)

快捷方式,使用NSString

let strToSort: NSString = "string to sort" let newString = strToSort.replacingCharacters(in: NSMakeRange(0, 6), with: "") print(newString) // to sort

希望有所帮助

相关问题