Swift2 函数的作用是:在Swift 2中给出空字符串

Swift2 函数的作用是:在Swift 2中给出空字符串,swift2,Swift2,removeRange:在Swift 2中给了我一个空字符串,我不明白为什么。 apple文档中的示例如下: var welcome = "hello!" let range = welcome.endIndex.advancedBy(-6)..<welcome.endIndex welcome.removeRange(range) //I get "" as result rather than "hello" where the exclamation mark is remo

removeRange:在Swift 2中给了我一个空字符串,我不明白为什么。 apple文档中的示例如下:

var welcome = "hello!"    
let range = welcome.endIndex.advancedBy(-6)..<welcome.endIndex
welcome.removeRange(range)
//I get "" as result rather than "hello" where the exclamation mark is removed
var welcome=“你好!”

让range=welcome.endIndex.advancedBy(-6)…从
endIndex开始,然后返回6。你现在在单词的开头。然后,创建一个到结束索引的范围,并删除该范围的内容:当然,没有留下任何内容。:)

例如,它可以是这样的:

var welcome = "hello!"
let range = welcome.endIndex.advancedBy(-1)..<welcome.endIndex
welcome.removeRange(range)
var welcome=“你好!”

让range=welcome.endIndex.advancedBy(-1)…welcome.endIndex的值为6,因此advancedBy(-6)表示它变为0。那么范围=0..apple文档中的字符串是 在删除范围时


var welcome=“你好!”

我想知道,为什么你认为结果是错误的?你期望的结果是什么?要删除感叹号,您应该使用
-1
,而不是
-6
。伙计,这是直接从苹果文档中得到的示例:但看起来您是对的,可能是苹果文档中的一个打字错误您错过了一个步骤。在“插入和删除”中,他们在“hello”中添加了“there!”,使其成为“hello there!”。。。然后他们用你的例子来说明这一点。他们的例子很好用。:)@irkinosor请注意您正在使用的文档集。您链接到的是Swift 2.2的预发布版本,以下是。由于预发布的字符串在
/library
之后有
/prerelease
,因此您可以判断它们是哪些字符串。原始字符串是
var welcome=“hello”
,但它们在删除范围之前对其进行了修改。使用
removeRange
时,字符串为“您好”
var welcome = "hello!"
let range = welcome.startIndex.advancedBy(5)..<welcome.endIndex
welcome.removeRange(range)
var welcome = "hello!"
let range = welcome.endIndex.advancedBy(-1)..<welcome.endIndex
welcome.removeRange(range)