C++处理string中的字符

我们经常需要单独处理string对象中的字符,例如:

检查一个string对象是否包含空白;

把string对象中的字符进行大小写替换;

检查某个特定字符是否出现;

。。。。。

上述问题我们可以使用范围for循环(C++11)对string对象进行遍历,例如:

string a{"hello"};

for(auto temp:a)

      操作。。。。

使用相应字符处理函数进行相关操作,常用如下:

注:c表示字符变量  char 

isalnum(c);//   当c是字母或数字时返回true;

isalpha(c);   //    当c是字母时为true;

isdigit(c);//当c是数字时为true;

islower(c); // 当c是小写字母;

isupper(c);//当c是大写字母

isspace(c);//当c是空格,横向制表符,纵向制表符,回车符,换行符,进纸符的一种)

水平制表符就是水平空出几个格,说像一下打了几个空格一样。编程里面用“\t”表示。 垂直制表符就是垂直空出几个格,说像一下打了几个回车一样。编程里面用“\v”表示。

tolower(c);如果c是大写字母,输出对应的小写字母;否则原样输出c

toupper(c);如果c是小写字母,输出对应的大写字母;否则原样输出c

示例小程序

#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
    string str;
    cin >> str;
    char val;
    cin >> val;
    int nums;
    if(isalpha(val)){         
        val = tolower(val);  //与下面val = toupper(val)一起实现不区分大小写功能
        nums = count(str.begin(),str.end(),val);
        val = toupper(val);
        nums = nums + count(str.begin(),str.end(),val);
    }       
    cout << nums;
    return 0;
}

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值