zoukankan      html  css  js  c++  java
  • C++用substr()函数消除前后空格

    最近做了个题目,遇到了要将字符串前后空格消除的细节问题。在Java中好像有一个字符串函数为trim()可以消除字符串后的空格。对于c++,查了一下,可以引用一个c++标准库Boost,可以轻松解决,但要下载,设置环境变量,因而没去弄。当然还可以用正则表达式进行匹配,但似乎都大材小用。不如就用substr()函数,而且string有find_last_not_of,find_first_not_of等等属性,已经够我们解决问题了。

    #include <iostream>
    #include
    <vector>
    #include
    <string>
    #include
    <fstream>
    using namespace std;
    //从文件中读取每一行,然后消除前后空格,使其连成一个新的字符串。
    int main()
    {
    string newstring = "";

    vector
    <string> str;
    ifstream fin(
    "a.txt");
    string line;
    while (getline(fin, line))
    str.push_back(line);

    for (unsigned i = 0; i < str.size(); i++)
    {
    newstring
    += str[i].substr(str[i].find_first_not_of(" "),str[i].find_last_not_of(" ")-str[i].find_first_not_of(" ")+1);
    }
    cout
    <<newstring<<endl;
    return 0;
    }

    ---
    可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明
  • 相关阅读:
    编译原理 实例
    lex yacc flex bison
    图解tensorflow 源码分析
    PostgreSQL 179个场景 案例集锦
    github view source
    Java 微服务实践
    Linux kernel AIO
    Lex与Yacc学习
    OpenResty 通过 Lua 扩展 NGINX 实现的可伸缩的 Web 平台
    nginx Architecture
  • 原文地址:https://www.cnblogs.com/null00/p/2065107.html
Copyright © 2011-2022 走看看