swift中提高字符串处理效率

经过多次测试,swift原生api对字符串处理的效率特别慢,所以,在遇到需要统计字符串长度,取某个下标的字符串时,应该尽量把字符串转换成Array来处理。
例如:

let str = "hello world!"

//1.统计字符长度
print(str.count) //效率低
let arr = Array(str)
print(arr.count) //快

//2.取某个下标的字符串
let index = 5
let sub = String(str[str.index(str.startIndex, offsetBy: index)]) // sub = "o",效率低
let sub1 =  String(arr[index]) //快

取某个范围的子串:

let sub2 = Array(arr[start..<end]).map { (char) -> String in
    return String(char)
}.joined() //慢
let start = s.index(s.startIndex, offsetBy: start)
let end = s.index(s.startIndex, offsetBy: end)
let sub3 = String(s[start..<end]) //稍微快一些
let sub4 = String(arr[start..<end]) //最简短,速度也不快

不得不吐槽一下,swift处理字符串的效率真的太低下了

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容