zoukankan      html  css  js  c++  java
  • 删除字符串中的空格

    实例

    替换前  abc def  ghi

    替换后  abcdefghighi

    思路

    从前往后遍历字符串a,记录空格的个数SpaceNum

    a[i] = '' : SpaceNum++

    a[i]!='' :  a[i-SpaceNum] = a[i]

    参考代码

    #include <iostream>
    #include <cstring>
    using namespace std;
    
    void RemoveSpace(char *a)
    {
        if(a == NULL)
            return;
        int len = strlen(a);
        int SpaceNum = 0;
        for(int i = 0; i < len; ++i)
        {
            if(a[i] == ' ')
                ++SpaceNum;
            else if(SpaceNum > 0)
                a[i - SpaceNum] = a[i];
        }
        a[len - SpaceNum] = '';
    }
    
    int main()
    {
        char a[] = "abc def  ghi";
        cout << a << endl;
        RemoveSpace(a);
        cout << a << endl;
    }

    结果

    abc def ghi
    abcdefghi

    细节

    赋值完后要置结束符'',否则还会记录原来的字符,比如

    #include <iostream>
    #include <cstring>
    using namespace std;
    
    void RemoveSpace(char *a)
    {
        if(a == NULL)
            return;
        int len = strlen(a);
        int SpaceNum = 0;
        for(int i = 0; i < len; ++i)
        {
            if(a[i] == ' ')
                ++SpaceNum;
            else if(SpaceNum > 0)
                a[i - SpaceNum] = a[i];
        }
    //    a[len - SpaceNum] = '';
    }
    
    int main()
    {
        char a[] = "abc def  ghi";
        cout << a << endl;
        RemoveSpace(a);
        cout << a << endl;
    }

    结果

    abc def ghi
    abcdefghighi

  • 相关阅读:
    关于服务器并发量的简单计算
    重温Android和Fragment生命周期
    JVM类加载机制
    设计六大原则总结
    Android Navigation使用
    Android BrocastReceiver解析
    Android LiveData使用
    Android Service解析
    Activity的生命周期和启动模式
    Java四种引用
  • 原文地址:https://www.cnblogs.com/kaituorensheng/p/3621772.html
Copyright © 2011-2022 走看看