加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Swift:如何将一个字符串数组拆分成多个匹配值数组?

发布时间:2020-12-14 04:48:07 所属栏目:百科 来源:网络整理
导读:假设我有一个值数组(按字母顺序排列),例如[A,B,D,G,H,M,Z]代表用户的姓氏.我正在寻找创建一个表索引,那么将这样的数组(任意数量的用姓氏以字母表中的所有字母开头的用户)分成数组的最佳方法是什么,如[A] [B,B] [D] [G,G] [H] [M,M] [Z]这似乎是为具有多个部
假设我有一个值数组(按字母顺序排列),例如[A,B,D,G,H,M,Z]代表用户的姓氏.我正在寻找创建一个表索引,那么将这样的数组(任意数量的用姓氏以字母表中的所有字母开头的用户)分成数组的最佳方法是什么,如[A] [B,B] [D] [G,G] [H] [M,M] [Z]这似乎是为具有多个部分的表创建值的最佳方式,其中用户以姓氏分隔.谢谢你的帮助!

解决方法

您可以使用name.characters.first获取名称的初始值,并通过比较它们来构建数组数组:

let names = ["Aaron","Alice","Bob","Charlie","Chelsea","David"]

var result: [[String]] = []
var prevInitial: Character? = nil
for name in names {
    let initial = name.characters.first
    if initial != prevInitial {  // We're starting a new letter
        result.append([])
        prevInitial = initial
    }
    result[result.endIndex - 1].append(name)
}

print(result)  // [["Aaron","Alice"],["Bob"],["Charlie","Chelsea"],["David"]]

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读