比较字符串的一部分.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# 中的新手,因此某些术语可能会令人困惑。
尝试使用 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
如果您确实只是查看字符串是否包含,我也会选择其他人提供的版本。
对于核苷酸序列,您可能需要一些序列比对算法,该算法在序列不相等时具有一定的公差。例如史密斯-沃特曼算法。