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

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



集团简历:


Group,Job title,Department,Manager (email address)

somesalesgroup@dundermifflin.com,Senior Sales Manager,Sales,michael.scott@dundermifflin.com

anothersalesgroup@dundermifflin.com,Senior Sales Manager,Sales,michael.scott@dundermifflin.com

用户:


First name,Last name,Location,Start date,Job title,Department,Manager (email address)

Jim,Halpert,Scranton,7/1/2021,Senior Sales Manager,Sales,michael.scott@dundermifflin.com

Dwight,Schrute,Scranton,7/1/2021,Assistant to the Regional Manager,Sales,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})

            }

        }

    }

但我不确定这里可能出了什么问题(字符串{g, u})


千万里不及你
浏览 84回答 2
2回答

天涯尽头无女友

解决方式: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]})            }        }    }

慕莱坞森

我能想到的方法是将组CSV转换为地图,然后读取用户CSV以匹配地图。如果读取 CSV 文件的过程是“for”,则总共有两个“for”。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java