Swift String 高级使用 Index 和 Rang

1、通过索引获取字符

var str = "Hello, Swift"
// 不可以使用[]获取
//str[0] 错误
str.characters[0] //"H"

2、索引的用法

// advancedBy
str[startIndex.advancedBy(5)] //","
startIndex

let spaceIndex = startIndex.advancedBy(6)
spaceIndex    //"6"
str[spaceIndex]  //" "

// predecessor 和 succesor
str[spaceIndex.predecessor()]  //前一个 ","
str[spaceIndex.successor()]  //后一个 "s"

// endIndex
let endIndex = str.endIndex  //12 
//*不是最后一个,而是最后一个的前一个
//[startIndex, endIndex)
//str[endIndex]  错误的
str[endIndex.predecessor()]

3、Rang的使用

// Range
str[startIndex..<spaceIndex]  //"Hello,"
let range = startIndex..<spaceIndex.predecessor()//0..<5

str.replaceRange(range, with: "Hi")//替换 "Hi,Swift"
str.appendContentsOf("!!!")//"Hi,Swift!!!"
str.insert("?", atIndex: str.endIndex)//"Hi,Swift!!!?"
str.removeAtIndex( str.endIndex.predecessor() )//"?"
str //"Hi,Swift!!!"
str.removeRange( str.endIndex.advancedBy(-2)..<str.endIndex )//"Hi,Swift!"区间remove
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值