Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 3:无法转换类型为';String.Index';到预期的参数类型范围(aka';Range<;String.CharacterView.Index>;';)_String_Swift3_Swift Playground - Fatal编程技术网

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位置切换子字符串?