swift c语言 字符串的长度,十、Swift3.0之字符串长度、拼接、格式化及子串

遍历。

func demo() {

let str: String = "abcdefg"

//NSString不支持一下方式遍历

//let str: NSString = "abcdefg"

for c in str.characters{

print(c)

}

}

字符串长度

func demo() {

let str: String = "abcd你好"

//1、返回制定编码对应的字节数量 每个汉字是三个字节 4+3+3 = 9

print(str.lengthOfBytes(using: .utf8))

//2、字符串长度 推荐使用

print(str.characters.count)

//3、使用NSString中转获取长度 as表示强转为NSString类型

let ocStr = str as NSString

print(ocStr.length)

}

拼接字符串.

func demo2() {

let name = "老王"

let age = 18

let title: String? = "BOSS"

let point = CGPoint(x: 100, y: 200)

//拼接字符串时要注意可选项,如果含可选项会输出Optional

let str = "\(name)\(age)\(title ?? "")\(point)"

print(str)

}

格式化字符串

func demo() {

let h = 8

let m = 9

let s = 6

//格式化字符串

let dataStr1 = String(format: "%02d:%02d:%02d",h,m,s)

print(dataStr1)

}

字符串的子串。

关于字符串子串这一块,强烈建议通过NSString作为中转。Swift关于子串处理一直在优化,目前非常不稳定。

func demo() {

//建议:一般使用NSString作为中转,因为Swift取子串的方法一直在优化,一直没有稳定

let str = "我是郑亚伟"

//==================方法一====================

//转为OC的NSString

let ocStr = str as NSString

let s1 = ocStr.substring(with: NSMakeRange(2, 3))

print(s1)

//==================方法二(知道即可)====================

//Swift3.0的写法

//startIndex的position == 0

print(str.startIndex)

//endIndex的position == str.length

print(str.endIndex)

//*****取子串

//这里面的“我是”和上面的我是,完全没有关系,这里主要是为了计算位置的

let s2 = str.substring(from: "我是".endIndex)

print(s2)

//****取范围 这个range是可选的,可能没有值

guard let range = str.range(of: "abc")else{

print("没有找到字符串")

return

}

//guard let之后的range一定是有值的

print(range)

print(str.substring(with: range))

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值