首页 / 知识
关于stl:在C ++中从std :: string删除空格
2023-04-16 14:23:00

Remove spaces from std::string in C++在C ++中从字符串中删除空格的首选方法是什么? 我可以遍历所有字符并构建一个新字符串,但是有更好的方法吗?
最好的办法是使用算法
现在,算法本身无法更改容器(只能修改值),因此它实际上将值随机改组并返回一个指向现在应该结束的指针。因此,我们必须调用string :: erase来实际修改容器的长度:
我们还应注意,remove_if将最多复制一份数据。这是一个示例实现:
来自gamedev
可以使用Boost String Algo吗? http://www.boost.org/doc/libs/1_35_0/doc/html/string_algo/usage.html#id1290573
您可以使用以下解决方案删除字符:
要进行修剪,请使用升压字符串算法:
嗨,您可以做类似的事情。此功能删除所有空格。
我做了另一个功能,删除了所有不必要的空格。
用它:
如果要使用一个简单的宏来执行此操作,请执行以下操作:
假设您当然已经完成了 这样称呼它:
我长时间使用以下解决方法-不确定其复杂性。
当您想删除字符
同样,如果要删除的字符数不是1,则只需增加 但正如其他人所提到的,删除删除成语也不错。
这段代码基本上接受一个字符串,并遍历其中的每个字符。然后,它检查该字符串是否为空格,如果不是,则将该字符添加到新字符串中。
资源: 参考来自本论坛。
恐怕这是我能想到的最佳解决方案。但是您可以使用reserve()预先预先分配所需的最小内存,以加快处理速度。您将得到一个可能更短的新字符串,但它占用的内存量相同,但是您将避免重新分配。 编辑:根据您的情况,这可能比使周围的字符杂乱无章地产生更多的开销。 您应该尝试不同的方法,然后查看最适合您的方法:您可能根本没有任何性能问题。 |
最新内容
相关内容
linux命令删除用户组?
linux命令删除用户组?,管理,密码,系统,用户组,用户,概念,命令,文件,管理员,工作组,Linux命令之用户组管理1、查看/etc/group文件,只存在名称为mlinux输出字符串命令?
linux输出字符串命令?,标准,基础,字符串,资料,简介,商业,数字,系统,命令,汉字,Linux中c语言中汉字字符串的输出引入标准输入输出库:sdtio.h。定linux删除重复项命令?
linux删除重复项命令?,数据,系统,工具,电脑,项目,公式,百度,代码,名字,基础,您好,我需要删除重复内容,两份以上的重复全部删除,不留一组数据?_linux硬链接删除命令?
linux硬链接删除命令?,数据,系统,不了,时间,名称,链接,文件,档案,地方,设备,linux怎么备份删除bin下的.sh命令1、dump命令 Linux dump命令用于linux交互删除命令?
linux交互删除命令?,名称,不了,系统,文件夹,命令,通用,文件,目录,指令,方法,linux删除文件夹命令1、linux删除命令rm-rf命令。具体详情:rm命令linux删除无用的命令?
linux删除无用的命令?,系统,软件,数据,员工,命令,信息,宽松,对比,状态,公司,Linux系统怎样清理垃圾文件1、clean 命令删除所有的软件安装包。删除文件linux命令行?
删除文件linux命令行?,命令,文件,不了,档案,名称,系统,数据,目录,文件夹,终端,linux的文件和目录的删除命令有哪些?1、Linux删除文件的命令是rlinux命令行删除网卡?
linux命令行删除网卡?,地址,网络,系统,工具,信息,设备,名字,管理,服务,网卡,linux中怎么把第一块网卡上的ip给删除掉1、你好,你说的删除IP是指linux命令替换的字符?
linux命令替换的字符?,命令,数据,系统,商业,字符串,文件,内容,方法,批量,字符,Linux批量替换多个文件中字符串Linux下批量替换多个文件中的字linux命令删除字符串?
linux命令删除字符串?,软件,系统,代码,名称,通用,连续,字符,字符串,命令,空格,类似trim命令,去除字符串中的冒号,有这个简单的命令吗?1、=trimlinux删除整个命令?
linux删除整个命令?,命令,文件夹,不了,名称,通用,系统,数据,文件,目录,格式,linux的文件和目录的删除命令有哪些?linux删除文件夹的方法有两种linux如何命令删除?
linux如何命令删除?,档案,系统,命令,文件,目录,通用,文件夹,终端,选项,参数,linux的文件和目录的删除命令有哪些?Linux删除文件的命令是rm命令