1. 程式人生 > >string基本操作:刪除制定位置,擷取,替換,查詢字串位置,插入字串

string基本操作:刪除制定位置,擷取,替換,查詢字串位置,插入字串

#include<iostream>
#include<string>
using namespace std;
int main() {
	//////////////////////////////////////////////////////////////////////////////
	//刪除制定位置字串erase(刪除起始位置, 以起始位置開始的相對結束位置);
	//會改變字串原有內容!!!!!!
	std::string str = "0123456789";
	str.erase(0, 5);
	std::cout << str << std::endl;

	//////////////////////////////////////////////////////////////////////////////
	//擷取字串 str.substr(擷取起始位置, 以起始位置開始的相對結束位置);
	//如果str.substr(擷取位置),不輸入第二個引數 就是從擷取位置到最後位置
//不會改變字串原有內容,返回值是要擷取的字串 str = "01234567890"; std::cout << str.substr(2, 3) << std::endl; std::cout << str << std::endl; ////////////////////////////////////////////////////////////////////////////// //替換字串 str..replace(擷取起始位置,以起始位置開始的相對結束位置) //第三個引數可以是 char*或 string 型別 str = "01234567890"; std::string str1 = "AAAAAA"; std::cout << str.replace(2
,5, str1) << std::endl; std::cout << str.replace(2, 4, "_ABCD_") << std::endl; ////////////////////////////////////////////////////////////////////////////// //查詢字串位置 str.find("RD"),引數是 char*或者 string 型別都可以 std::string cc = "RD"; str = "01234567890 HELLO WORD"; std::cout << str.size() << std::endl; //自己判斷 find函式的返回值 不能大於 字串的最大個數,不能小於0 size_t idx =
str.find("RD"); if (idx < str.size() && idx > 0) { std::cout << "找到了位置在" <<idx<< std::endl; } else { std::cout << "沒找到" << std::endl; } //string::npos表示不存在的位置 find的返回值是std::string::size_type 型別的 std::string::size_type pos; pos = str.find(cc); if (pos != str.npos) { std::cout << "找到了位置在" << pos << std::endl; } else { std::cout << "沒找到" << std::endl; } ////////////////////////////////////////////////////////////////////////////// //插入字串 str4.insert(插入位置,char*或者string); str = "01234567890"; str.insert(5,"_ABC_"); std::cout << str << std::endl; //insert(插入位置,插入字元個數,字串); str = "01234567890"; str.insert(5, 5,'Z'); std::cout << str << std::endl; //insert(插入位置,要插入的char*或string,要插入字串從0到結束位置); str = "01234567890"; str.insert(5,"HELLO", 3); std::cout << str << std::endl; //insert(插入位置,要插入的char*或string,要插入字串的起始位置,要插入字串的結束位置); str = "01234567890"; string sstr = "HELLO"; str.insert(5, sstr,1,3); std::cout << str << std::endl; cin.get(); return 0; }