方法一(python):使用python的count()函数。
image.pnginput_str = input() #获取字符串
tag = input() #获取目标字符
string = input_str.lower() #由于不区分大小写,一定要记得将所有字符都转化为小写
tagg = tag.lower()
counter = string.count(tagg)
print(counter)
方法二(python): 使用collections模块的Counter()函数
input_str = input() #获取字符串
tag = input() #获取目标字符
string = input_str.lower()
tagg = tag.lower()
import collections
key_dict = {}
counter = 0
key_dict = collections.Counter(string)
for key, count in key_dict.items():
if key == tagg:
counter = count
print(counter)
方法三(c++)
知识点1: C++ STL的algorithm库,使用模板函数transform可以将字符串全部转化为大写,或者全部转化为小写。
string strA = "yasaken@126.com";
transform(strA.begin(), strA.end(), strA.begin(), ::toupper); //转化为大写
transform(strA.begin(), strA.end(), strA.begin(), ::tolower); //转化为小写
//此方法相当于修改了字符串本身。
知识点2:count(begin,end,‘a’),其中begin指的是起始地址,end指的是结束地址,第三个参数指的是需要查找的字符。
#include <iostream>
#include <string>
using namespace std;
int main()
{
string input_str;
char input_letter;
cin >> input_str;
cin >> input_letter;
int num = 0;//存储字符串出现的次数
// 这里也可以加上对 input_letter是否为字符的判断,如if((input_letter >= 'a' && input_letter <= 'z') || (input_letter >= 'A' && input_letter <= 'Z'))
for(int i = 0; i < input_str.length(); i++)
{
if(input_str[i] == input_letter || input_str[i] == input_letter + 32 || input_str[i] == input_letter - 32) //不考虑大小写,因此需要变形
num++;
}
cout << num << endl;
return 0;
}
网友评论