Swift 3:无法转换类型为';String.Index';到预期的参数类型范围(aka';Range<;String.CharacterView.Index>;';)
我试图用另一个子字符串替换一个子字符串,但出现以下错误:Swift 3:无法转换类型为';String.Index';到预期的参数类型范围(aka';Range<;String.CharacterView.Index>;';),string,swift3,swift-playground,String,Swift3,Swift Playground,我试图用另一个子字符串替换一个子字符串,但出现以下错误: cannot convert value of type 'String.Index' (aka 'String.CharacterView.Index') to expected argument type 'Range<String.Index>' (aka 'Range<String.CharacterView.Index>') 但我得到了一个错误: cannot convert value of ty
cannot convert value of type 'String.Index' (aka 'String.CharacterView.Index') to expected argument type 'Range<String.Index>' (aka 'Range<String.CharacterView.Index>')
但我得到了一个错误:
cannot convert value of type 'String.Index' (aka 'String.CharacterView.Index') to expected argument type 'Range<String.Index>' (aka 'Range<String.CharacterView.Index>')
你们有谁知道我做错了什么,或者知道我在做什么
我非常感谢您的帮助这样修改您的代码
var strToSort = "HELLOAGAIN"
let rangeOne = strToSort.index(strToSort.startIndex, offsetBy: (2))
let rangeTwo = strToSort.index(strToSort.startIndex, offsetBy: (3))
let stringRange = Range(uncheckedBounds: (lower: rangeOne, upper: rangeTwo))
strToSort = strToSort.replacingCharacters(in: stringRange, with: strToSort)
print(strToSort)
正如在代码中一样,没有定义范围和方法
重放字符
需要类型为的参数
范围
您提供的是类型字符串。索引不正确,因此您得到的是错误
如果要用E替换出现的字符串,如H,可以使用不同的string
方法,如
let aString: String = "HELLO"
let newString = aString.stringByReplacingOccurrencesOfString("H", withString: "E", options: NSStringCompareOptions.LiteralSearch, range: nil)
如果我想替换E的H,如何管理范围。例如,ehlloreach?我试图做的是替换字符串位置的子字符串base,而不是值中的子字符串base。您想将ehlloreach
更改为HELLOAGAIN
?var chars=“ehlloreach.”characters.map{string($0)
交换(&chars[0],&chars[1])
@LeoDabus,但如何通过编程实现。我的意思是,如果在x位置切换子字符串,在y位置切换子字符串?