我想比较并检查字符串是否是另一个字符串的一部分。例如: String1 =“ACGTAAG” String2 =“TAA”
我想检查String1是否包含String2。我使用此代码,但它不起作用。
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;
}
input = string1和tobechecked = string 2。 我是c#的新手,所以有些术语可能会令人困惑。
答案 0 :(得分:1)
尝试使用String.Contains()
在这里查看:
http://msdn.microsoft.com/en-us/library/dy85x1sa%28v=vs.110%29.aspx
祝你好运。答案 1 :(得分:0)
使用
If(mainString.Contains(searchedString)
{
//do stuff
}
答案 2 :(得分:0)
在我看来,你正在使用它来比较DNA序列:)。
也许string.IndexOf(字符串值)或其中一个重载更适合你,因为它可以帮助你 您搜索相同字符串的更多出现(诸如“它包含字符串的次数”之类的内容):http://msdn.microsoft.com/en-us/library/k8b1470s(v=vs.110).aspx
如果你想要的只是查看字符串是否包含,我也会选择其他人提供的版本。
答案 3 :(得分:0)
对于核苷酸序列,您可能需要一些sequence alignment algorithm,当序列不相等时,它们具有一定的耐受性。例如Smith–Waterman algorithm。