如何检查字符是否包含特定字母
How to check if a char contains a specific letter
我正在尝试编写代码来检查一个字符包含多少个 "A"、"C"、"G" 和 "T" 个字符。但我有点不确定如何去做这件事。因为据我所知,没有像 .contains() 这样的运算符可以检查。
所需的输出类似于:
"The char contains (variable amount) of letter A's"
在我的代码中我现在有这个:
DNAnt countDNAnt(char strand)
{
DNAnt DNA;
if (isupper(strand) == "A")
{
DNA.adenine++;
}
else if (isupper(strand) == "C")
{
DNA.cytosine++;
}
else if (isupper(strand) == "G")
{
DNA.guanine++;
}
else if (isupper(strand) == "T")
{
DNA.thymine++;
}
}
DNAnt 是一种结构,它具有我正在检查的所需变量(A、C、G 和 T)。每当我在 char 中找到它时,我都会尝试基本上添加每个的数量。
感谢您的帮助!
发布的代码有很多问题,其中最大的问题是每次都会创建并返回一个新的 DNAnt
。这将使计数方式比必要的更复杂,因为现在您必须计数 DNAnts
。这里没有修复此代码,而是一种非常简单且愚蠢的不同方法:
std::map<char,int> DNACount;
创建一个将字符绑定到数字的对象。
DNACount[toupper(strand)]++;
如果还没有,这将为字符 strand
创建一个 character/number 配对并将数字设置为零。然后strand
配对的数字加一
所以你所要做的就是通读像
这样的序列
std::map<char,int> DNACount;
for (char nucleotide:strand)// where strand is a string of nucleotide characters
{
DNACount[toupper(nucleotide)]++;
}
std::cout << "A count = " << DNACount['A'] << '\n';
std::cout << "C count = " << DNACount['C'] << '\n';
....
我正在尝试编写代码来检查一个字符包含多少个 "A"、"C"、"G" 和 "T" 个字符。但我有点不确定如何去做这件事。因为据我所知,没有像 .contains() 这样的运算符可以检查。
所需的输出类似于:
"The char contains (variable amount) of letter A's"
在我的代码中我现在有这个:
DNAnt countDNAnt(char strand)
{
DNAnt DNA;
if (isupper(strand) == "A")
{
DNA.adenine++;
}
else if (isupper(strand) == "C")
{
DNA.cytosine++;
}
else if (isupper(strand) == "G")
{
DNA.guanine++;
}
else if (isupper(strand) == "T")
{
DNA.thymine++;
}
}
DNAnt 是一种结构,它具有我正在检查的所需变量(A、C、G 和 T)。每当我在 char 中找到它时,我都会尝试基本上添加每个的数量。
感谢您的帮助!
发布的代码有很多问题,其中最大的问题是每次都会创建并返回一个新的 DNAnt
。这将使计数方式比必要的更复杂,因为现在您必须计数 DNAnts
。这里没有修复此代码,而是一种非常简单且愚蠢的不同方法:
std::map<char,int> DNACount;
创建一个将字符绑定到数字的对象。
DNACount[toupper(strand)]++;
如果还没有,这将为字符 strand
创建一个 character/number 配对并将数字设置为零。然后strand
配对的数字加一
所以你所要做的就是通读像
这样的序列std::map<char,int> DNACount;
for (char nucleotide:strand)// where strand is a string of nucleotide characters
{
DNACount[toupper(nucleotide)]++;
}
std::cout << "A count = " << DNACount['A'] << '\n';
std::cout << "C count = " << DNACount['C'] << '\n';
....