比较字符串的一部分.C#.

本文关键字:一部分 字符串 比较 | 更新日期: 2023-09-27 18:32:19

我想比较并检查一个字符串是否是另一个字符串的一部分。例如:字符串 1 = "ACGTAAG"字符串 2 = "TAA"

我想检查字符串 1 是否包含字符串 2。我使用此代码,但它不起作用。

public bool ContainsSequence(string input, string toBeChecked)
    {
        for (int i = 0; i < input.Length; i++)
        {
            Char x = input[i];
            String y = Convert.ToString(x);
            for (int j = 0; j < toBeChecked.Length; j++)
            {
                Char a = toBeChecked[j];
                String b = Convert.ToString(a);
                if (b.Equals(y))
                {
                    j = toBeChecked.Length;
                    return true;
                }
            }
        }
        return false;
    }
输入 = 字符串

1 和待检查 = 字符串 2。我是 c# 中的新手,因此某些术语可能会令人困惑。

比较字符串的一部分.C#.

尝试使用 String.Contains()

在这里查看:

http://msdn.microsoft.com/en-us/library/dy85x1sa%28v=vs.110%29.aspx

祝你好运。

使用

If(mainString.Contains(searchedString)
{
   //do stuff
}
在我看来

,你正在使用它来比较DNA序列:)。

也许是字符串。IndexOf(字符串值)或其重载之一对您更好,因为它可以帮助您搜索同一字符串的进一步出现(例如"它包含字符串多少次"):http://msdn.microsoft.com/en-US/library/K8B1470s(v=vs.110).aspx

如果您确实只是查看字符串是否包含,我也会选择其他人提供的版本。

对于核苷酸序列,您可能需要一些序列比对算法,该算法在序列不相等时具有一定的公差。例如史密斯-沃特曼算法。