gpt4 book ai didi

string - 在 Swift 中索引字符串

转载 作者:可可西里 更新时间:2023-11-01 00:18:16 27 4
gpt4 key购买 nike

我试图找出 2 个单词(已知它们具有相同的长度并且仅使用罗马字符)有多少个共同点。为此,我有以下代码

var sameplace = 0
for n in 0..<(word1.utf16Count){
if word1[n] == word2[n]{
sameplace += 1
}
}

但是,当我尝试使用 n 索引字符串时出现错误,n 是一个 Int。具体来说,错误是 'Int' 无法转换为 'String.Index'

有没有一种方法可以用 int 索引字符串,而不必每次都先将其转换为 NSString?我可以让循环生成 n 作为 String.Index 而不是 Int 吗?执行此操作最“swift ”的方法是什么?

最佳答案

一个可能的解决方案甚至可以处理所有类型的 Unicode 字符,字素簇等:

let word1 = "😄abcd🇩🇪"
let word2 = "😄axcy🇩🇪"

var sameplace = 0
for (c1, c2) in Zip2(word1, word2) {
if c1 == c2 {
sameplace++
}
}

println(sameplace) // 4

Swift String 也是其字符的 Sequence,并且Zip2 返回一个序列,该序列并行迭代两个给定序列。

关于string - 在 Swift 中索引字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24974583/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com