微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何匹配两个字符串数组 - 3 个条件?

如何解决如何匹配两个字符串数组 - 3 个条件?

我有一个合乎逻辑的问题。我需要为每个用户打印一个格式为“user@email.com group@email.com”的字符串,其业务头衔和经理符合组 CSV 中的业务头衔、部门和经理。如果有多个匹配组,则应按上述方式打印字符串,但应使用另一组。这里最好的方法是什么?从两个 CSV 文件创建数组,然后在循环中执行 if?

示例

GroupCSV:

Group,Job title,Department,Manager (email address)
somesalesgroup@dundermifflin.com,Senior Sales Manager,Sales,michael.scott@dundermifflin.com
anothersalesgroup@dundermifflin.com,michael.scott@dundermifflin.com

用户CSV:

First name,Last name,Location,Start date,Manager (email address)
Jim,Halpert,Scranton,7/1/2021,michael.scott@dundermifflin.com
Dwight,Schrute,Assistant to the Regional Manager,michael.scott@dundermifflin.com

我想要一个输出

[jim.halpert@dundermifflin@takeaway.com somesalesgroup@dundermifflin.com]
[jim.halpert@dundermifflin@takeaway.com anothersalesgroup@dundermifflin.com]

目前我有这个

var match [][]string
    for _,u := range userRows {
        for _,g := range groupRows {
            if u[0] == g[0] {
                match = append(match,string{g,u})
            }
        }
    }

但我不确定这里有什么问题(string{g,u})

解决方法

这样解决:

var match [][]string
    for _,u := range userRows {
        for _,g := range groupRows {
            if u[6] == g[1] && u[2] == g[0] {
                match = append(match,[]string{u[5],g[2]})
            }
        }
    }
,

我能想到的方法是将GroupCSV转换成地图,然后读取UserCSV来匹配地图。 如果读取CSV文件的过程是一个“for”,那么总共有两个“for”。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。