字符串相等的判断(函数忽略大小写,标点符号及空白字符)

该博客介绍了如何使用C++编写一个函数,该函数忽略大小写、标点符号和空白字符来判断两个字符串是否相等。通过将字符串转为小写并移除特定的标点符号,最后比较处理后的字符串是否相同。文中给出了详细的代码实现和测试用例。
摘要由CSDN通过智能技术生成

个人比较喜欢的一个题目:

编写一个函数,比较两个字符串的相等性,如果字符串相等,函数应该返True,不等则返回False。函数应该忽略大小写,标点符号及空白字符。用各种输入测试你的函数。(摘自Absolute C++ 编程题第9.9题)


分析:

1.应该写一个忽略大小写的函数,一般的作法是,无论大小写都转换为小写(个人的习惯吧),过程大概是遍历字符串的每一个字符,然后对其进行tolower()操作,tolower和toupper函数的注意事情在之前有介绍过了(当然此处和之前没有什么关系)。

2.忽略标点字符和空格,目前还没学习正则表达式,而且也不知道C++有没有(我所知道的python有),但是吃出我的作法是:将标点符号和空格放在一个字符串(punct)里面,然后在遍历字符串的时候,对每个字符,判断是否出现在punct中即(punct.find()) ,如果不在其中说明则不是标点或空格,故将此字符push_back();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值