C++常用字符串操作

判断数据为何种类型

// 使用typeid()可判断数据类型

int num = 100;

if(typeid(num) == typeid(int))
        cout << "数据类型为int" << endl;
if(typeid(num) == typeid(string))
        cout << "数据类型为string" << endl;

 

字符串分割

vector<string> split(string str,string pattern)
{
    vector<string> vec_split;
    if ("" == str)
        return vec_split;
    string strs = str + pattern;
    int pos = strs.find(pattern);
    while (pos != string::npos)
    {
        string x = strs.substr(0,pos);
        vec_split.push_back(x);
        strs = strs.substr(pos + pattern.size(), strs.size());
        pos = strs.find(pattern);
    }

    return vec_split;
}

 

int和string互转

#include <sstream>

// string转int
string str = "100";
int num;

stringstream ss;
ss << str;
ss >> num;



// int转string
int num = 100;
string str;

str = to_string(num);

 

去除指定的字符

// 去除所有的指定字符
str.erase(std::remove(str.begin(), str.end(), 'a'), str.end());

 

截取字符串中指定的一段

str = str.substr(0, str.length() - 1);

 

去除字符串后几位(假设去除最后一位)

// method 1
str = str.substr(0, str.length() - 1);

// method 2
str.erase(str.end() - 1);

// method 3
str.pop_back();

 

去除文件后缀名

string test_text = "test.jpg";
string text = test_text.substr(0, test_text.rfind("."));
// text: "test"

获取文件后缀名

string test_text = "test.jpg";
string text = test_text.substr(test_text.find(".") + 1);
// text: "jpg"

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值