登录
首页 >  Golang >  Go问答

使用Golang比较两个字符串是否有共同单词

来源:stackoverflow

时间:2024-02-06 22:30:23 185浏览 收藏

Golang小白一枚,正在不断学习积累知识,现将学习到的知识记录一下,也是将我的所得分享给大家!而今天这篇文章《使用Golang比较两个字符串是否有共同单词》带大家来了解一下##content_title##,希望对大家的知识积累有所帮助,从而弥补自己的不足,助力实战开发!


问题内容

我正在尝试检查一个数组是否包含另一个数组的特定单词,如下所示:

  • 示例:“红心 3”和“红心 5”匹配,因为它们都是 心并且应该返回 true。

  • 示例:“红心 7”和“红心 7” clubs”匹配,因为它们的值都是 7 并且应该返回 正确。

  • 示例:“jack of spades”仅与另一个“jack of spades”匹配 并且应该返回 true。

我将如何在 golang 中做到这一点。我尝试了一系列步骤,然后又回到了原点,到目前为止我所拥有的是:

func compare(firstString, secondString string) bool {
    return false
}

compare("3 of hearts", "5 of hearts")
## This should return true

正确答案


我对 golang 相当陌生,但无需循环两次即可获得此结果的最佳方法是:

func compare(firststring, secondstring string) bool {
    f, s := strings.split(f, " "), strings.split(secondstring, " ")
    if f[0] == s[0] || f[2] == f[2] {
        return true
    }
    return false
}

compare("3 of hearts", "5 of hearts")
## this should return true

compare("7 of hearts", "7 of clubs")
## this should return true

compare("jack of spades", "jack of spades")
## this should return true

compare("5 of hearts", "7 of clubs")
## this should return false
func compare(f, s string) bool {
    arr1, arr2 := strings.Split(f, " "), strings.Split(s, " ")
    for _, v1 := range arr1 {
        for _, v2 := range arr2 {
            if v1 == v2 {
                return true
            }
        }
    }
    return false
}

go playground

到这里,我们也就讲完了《使用Golang比较两个字符串是否有共同单词》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于的知识点!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>