一些常用的字符串操作

(真正开始自己做项目,写代码了,才发现要注意的细节很多多,字符串操作很重要,汇总记下来,预防老年痴呆~~)

1.按索引提取子串(文件名)

    int index = string(ch).find_last_of('\\');//ch转换为string,并定位最后一个\\;
    string imgname = string(ch).substr(index + 1, string(ch).size() - index + 1);//按索引提取子串

附:string,char[], char*区别:
(时间关系,没写完,持续笔记中,表笑。。)

2.C++中对字符串进行插入、替换、删除操作

#include <iostream>
#include <string>
using std::cout;
using std::endl;
using std::string;
int main(void){
    string str1="We can insert a string";
    string str2="a str into ";
         //在字符串指定位置前面插入指定字符串
    cout <<str1.insert(14,str2)<<endl;
    //在字符串指定位置前面插入指定字符串的子串(从指定索引開始的指定个数的字符)
    cout <<str1.insert(14,str2,2,9)<<endl;
    //插入指定字符串的前n个字符
    cout <<str1.insert(14,"test hello",5)<<endl;
    //插入n个同样字符到字符串中
    cout <<str1.insert(14,6,'*')<<endl;

    //替换指定索引開始的指定长度的子串
    cout <<str1.replace(3,3,"may")<<endl;
    //用给定字符串的指定子串来进行替换
    //例如以下。实际上使用的是could来进行替换
           cout <<str1.replace(3,3,"can could",4,5)<<endl;
    //使用给定字符串的前n个字符来进行替换:can
    cout <<str1.replace(3,5,"can could",3)<<endl;
    //使用指定个数的反复字符来进行替换
    cout <<str1.replace(3,3,5,'*')<<endl;

    string word="We";
    size_t index=str1.find(word);
    if(index!=string::npos)
    //删除指定索引開始的指定长度的字符
    cout <<str1.erase(index,word.length())<<endl;
    return 0;

}

2.OpenCV-Python:图像的几何变换(平移、旋转、仿射变换等)

参考链接:http://blog.topspeedsnail.com/archives/2124
http://www.cnblogs.com/tianyalu/p/5698371.html
http://blog.sina.com.cn/s/blog_8e6c5b220102wwdc.html

猜你喜欢

转载自blog.csdn.net/u012617944/article/details/78137111
今日推荐