zoukankan      html  css  js  c++  java
  • c++ string 大小写转换,split隔断指定字符

    //问题来源为ACM,将一串字符串缩写变大写,简称。
    //
    这两段代码共用到的头文件 #include<iostream> #include<cstring> #include<cstdio> #include<iostream> #include<iomanip> #include <vector> #include <string> #include <algorithm> using namespace std; //string小写转大写 void toUpper(string &str) { int length = 0; length = str.length(); for(int i=0; i<length; i++) { if(str[i]<='z' && str[i]>='a') str[i] = str[i]-32; } }
    //隔断指定字符
    vector<string> split(string str,string pattern)
    {
        int pos;//std::string::size_type
        vector<string> result;
        str+=pattern;//扩展字符串以方便操作
        int size=str.size();
    
        for(int i=0; i<size; i++)
        {
            pos=str.find(pattern,i);
            if(pos<size)
            {
                string s=str.substr(i,pos-i);
                result.push_back(s);
                i=pos+pattern.size()-1;
            }
        }
        return result;
    }
    
    
    int main()
    {
        string str;
        cin.ignore(1,'
    ');//解决第一次输入多一个回车问题(原因是第一次的回车仍然在输入流中)
        getline(cin,str);
        vector<string> result=split(str," ");//空格分隔单词
        string::size_type i;//因为result.size类型的问题,这里定义i
        for(i=0; i<result.size(); i++)
        {
            result[i]=result[i].substr(0,1);//获得隔断后的首字符
            //transform(result[i].begin(), result[i].end(), result[i].begin(), toupper); //大小写转换,在g++编译器中报错
            toUpper(result[i]);//大小写转换
            cout<<result[i];
        }
        return 0;
    }

    输入:

    most valuable player

    输出:

    MVP

  • 相关阅读:
    MapReduce -- 统计天气信息
    设计模式--策略模式
    基于物品的协同过滤(二)
    Hadoop应用开发,常见错误
    基于物品的协同过滤(一)
    基于用户的协同过滤
    MapReduce开发程序,运行环境配置
    3DES加解密 C语言
    js获取对象位置的方法
    icheck.js的一个简单demo
  • 原文地址:https://www.cnblogs.com/bkycjj/p/3556267.html
Copyright © 2011-2022 走看看