文档章节

C++中String的Trim

kimiz
 kimiz
发布于 2014/01/27 21:09
字数 159
阅读 1294
收藏 0
  • StringUtil.h


#ifndef STRINGUTIL_H
#define STRINGUTIL_H

#include <string>

class StringUtil
{
    public:
        StringUtil();
        virtual ~StringUtil();

        static std::string& LTrim(std::string &s);
        static std::string& RTrim(std::string &s);
        static std::string& Trim(std::string &s);
    protected:
    private:
};

#endif // STRINGUTIL_H



  • StringUtil.cpp


#include "StringUtil.h"

StringUtil::StringUtil()
{
    //ctor
}

StringUtil::~StringUtil()
{
    //dtor
}

std::string& StringUtil::LTrim(std::string &s)
{
    return s.erase(0, s.find_first_not_of(" \t\n\r"));
}

std::string& StringUtil::RTrim(std::string &s)
{
    return s.erase(s.find_last_not_of(" \t\n\r")+1);
}

std::string& StringUtil::Trim(std::string &s)
{
    return RTrim(LTrim(s));
}




  • main.cpp
#include <iostream>
#include <cstdlib>
#include <cstdio>
#include <string>

#include "StringUtil.h"

using namespace std;

int main()
{
    cout << "Hello world Begin!" << endl;

    std::string s = "    sfasfd\n   ";
    std::cout << "*" << s << "*" << std::endl;
    StringUtil::Trim(s);
    std::cout << "*"<< s << "*" << std::endl;

    cout << "Hello world End!" << endl;
    return 0;
}
  • output


Hello world Begin!
*    sfasfd
   *
*sfasfd*
Hello world End!

Process returned 0 (0x0)   execution time : 0.017 s
Press any key to continue.



© 著作权归作者所有

共有 人打赏支持
kimiz
粉丝 1
博文 17
码字总数 3593
作品 0
苏州
程序员
私信 提问
C++ string的trim, split方法

很多其他语言的libary都会有去除string类的首尾空格的库函数,但是标准C++的库却不提供这个功能。但是C++string也提供很强大的功能,实现trim这种功能也不难。下面是几种方法: 1.使用strin...

simpower
2015/08/07
0
0
C++ 使用STL string 实现的split,trim,replace-修订

编辑器加载中... 使用python的时候默认str 对字符串操作支持非常丰富,相信每个C++程序员都自己写过string的strim、split、replace, 写个小工具函数,留着用,以前偷懒,写了好几次,这次总...

晨曦之光
2012/06/07
694
0
STL list链表的用法详解

------------------------------------------------------------------------------- 原来... STL list链表的用法详解 本文以List容器为例子,介绍了STL的基本内容,从容器到迭代器,再到普通...

nao
2014/04/10
0
0
C#调用C的Dll(类型对照)

C#调用C的DLL //C++中的DLL函数原型为 //extern "C" declspec(dllexport) bool 方法名一(const char 变量名1, unsigned char 变量名2) //extern "C" declspec(dllexport) bool 方法名二(cons......

KavenSu
2014/04/30
0
0
C++中关于string类型究竟能不能用cout输出的问题

今天在visual studio 学习c++的string类,发现string的不能用c++的cout函数来输出,后来查了下网上的资料发现应该是可以的,最后才发现自己没有进行导入c++的默认的string的头文件,所以它默...

DannyCoder
09/02
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Git工作原理

git跟传统的代码管理器(如svn)不同, 主要区别在于git多了个本地仓库以及缓存区,所以即使无法联网也一样能提交代码。 术语解释: 工作区间: 即我们创建的工程文件, 在编辑器可直观显示;...

Lienson
4分钟前
0
0
MySQL驱动对应Server版本、JDK版本

昨日生产上线,临时升级MySQL版本,导致连接不上。 应用JDK版本1.5 测试环境MySQL版本5.7 驱动版本5.1.40.jar 正常 生产环境MySQL版本8.0 驱动版本5.1.40.jar 连接不上 生产环境MySQL版本8.0...

zcjlq
6分钟前
1
0
千万级规模【高性能、高并发】互联网架构经验分羹

架构以及我理解中架构的本质 在开始谈我对架构本质的理解之前,先谈谈对今天技术沙龙主题的个人见解,千万级规模的网站感觉数量级是非常大的,对这个数量级我们战略上 要重 视 它 , 战术上又...

java知识分子
7分钟前
0
0
重磅!阿里巴巴工程师获得 containerd 社区席位,与社区共建云时代容器标准

重磅!阿里巴巴工程师获得 containerd 社区席位,与社区共建云时代容器标准 11 月 29 日,CNCF containerd 社区正式宣布:两位阿里巴巴工程师正式获得 containerd 社区席位,成为 containerd...

阿里云官方博客
8分钟前
0
0
你会用哪些JavaScript循环遍历

总结JavaScript中的循环遍历 定义一个数组和对象 const arr = ['a', 'b', 'c', 'd', 'e', 'f'];const obj = { a: 1, b: 2, c: 3, d: 4} for() 经常用来遍历数组元素 遍历值为数组...

peakedness丶
9分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部