美文网首页
如何使用索引访问和修改字符串

如何使用索引访问和修改字符串

作者: 一个栗 | 来源:发表于2021-05-31 09:35 被阅读0次

    字符串索引

    每一个 String 值都有相关的索引类型,String.Index,它相当于每个 Character 在字符串中的位置

    • startIndex 属性来访问 String 中第一个 Character 的位置。 endIndex 属性就是 String 中最后一个 Character 后的位置【endIndex 非法,并不是下标】
    • endIndex 属性并不是字符串下标脚本的合法实际参数
    • 如果 String 为空,则 startIndex 和 endIndex 相等
    let greeting = "Guten Iag!"
    greeting[greeting.startIndex]
    
    startIndex.png
    字符串索引.png
    • 使用 index(before:) 和 index(after:)方法来访问给定索引的前后
    • 要访问给定索引更远的索引,你可以使用index(_, offsetBy:)
    • 使用 indices 属性来访问字符串中每个字符的索引


      字符串索引.png

    插入字符

    • 插入字符,使用 insert(_:at:) 方法
    • 插入另一个字符串的内容到特定的索引,使用 insert(contentsOf:at:)方法
    var welcome = "hello"
    welcome.insert("!", at: welcome.endIndex)
    print(welcome)
    welcome.insert(contentsOf: " there", at: welcome.index(before: welcome.endIndex))
    print(welcome)
    
    打印结果如下:
    hello!
    hello there!
    

    删除

    • 移除字符,使用 remove(at:)方法
    • 移除一小段特定范围的字符串,使用 removeSubrange(_:)方法
    var welcome = "hello"
    welcome.insert("!", at: welcome.endIndex)
    print(welcome)
    welcome.insert(contentsOf: " there", at: welcome.index(before: welcome.endIndex))
    print(welcome)
    
    welcome.remove(at: welcome.index(before: welcome.endIndex))
    print(welcome)
    let range = welcome.index(welcome.endIndex, offsetBy: -6)..<welcome.endIndex
    welcome.removeSubrange(range)
    print(welcome)
    
    打印结果如下:
    hello!
    hello there!
    hello there
    hello
    

    相关文章

      网友评论

          本文标题:如何使用索引访问和修改字符串

          本文链接:https://www.haomeiwen.com/subject/sbwpsltx.html