我在找一个最长的常用词c#implementation我遇到的大多数样本都是逐字比较的。
换句话说,

string1 = access
string2 = advised

应该从函数返回空输出
有样本代码吗?

最佳答案

如果你所说的单词是指这些字母,用punktuation把它们与其他字母分开,试试这个:

private String longestCommonWord(String s1, String s2)
    {
        String[] seperators = new String[] { " ", ",", ".", "!", "?", ";" };
        var result = from w1 in s1.Split(seperators, StringSplitOptions.RemoveEmptyEntries)
                     where (from w2 in s2.Split(seperators, StringSplitOptions.RemoveEmptyEntries)
                            where w2 == w1
                            select w2).Count() > 0
                     orderby w1.Length descending
                     select w1;
        if (result.Count() > 0)
        {
            return result.First();
        }
        else
        {
            return null;
        }
    }

这可能不是最优雅的方法,但它对我有效。=)

关于c# - C#最长的常用单词样本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2294728/

10-12 18:47