當前位置: 妍妍網 > 碼農

OpenCV開發中C++字串操作實用集錦

2024-03-05碼農

點選上方 藍字 關註我們

微信公眾號: OpenCV學堂

關註獲取更多電腦視覺與深度學習知識

C++11中有個字串類std::string,OpenCV開發中你遇到所有關於字串的問題,都可以透過這個類來解決。特別好用!

相關函式說明

首先看一下這個類比較有用的函式操作都有哪些:

字串進入的相關函式:

字串內容修改的相關函式:

字串操作的相關函式:

用法演示

用法演示涵蓋各種字串常編程套用包括檢查副檔名稱、截取,尋找字串、拼接字串、把這種其它型別數據轉換為字串std::tostring這個方法是萬能的。演示程式碼如下:

// 初始化字串
std::stringmystr("this is OpenCV學堂 ");
std::string by = "created by gloomyfish";
std::cout << mystr << std::endl;
// 拼接字串,計算長度
std::string str2 = mystr + by;
for (int i = 0; i < 4; i++) {
str2.append("!");
}
std::cout << str2 << std::endl;
std::cout << "str2's length: "<<str2.length()<< std::endl;
// 尋找字串
int pos = mystr.find("學堂"0);
std::cout << "位置:"<<pos << " 截取: " <<mystr.substr(pos, 4)<<std::endl;
// 檢查圖像副檔名稱
std::string lena = "D:/images/lena.jpg";
int t = lena.find_last_of('.');
std::string extName = lena.substr(t + 1);
if (extName == "jpg") {
std::cout << lena << std::endl;
}
// 字串各種拼接,把數值轉換為字串, std::tostring是萬能方法
std::string mystr3 = mystr + std::to_string(12.3344);
std::cout << mystr3 << std::endl;



檢查字串中都是數 字與返回浮點數部份函式,利用字串操作完成:

stringreturnFloatingPart(string str)
{
int pos = str.find(".");
if (pos == string::npos)
return"";
else
return str.substr(pos + 1);
}
boolcontainsOnlyDigit(string str)
{
int l = str.length();
for (int i = 0; i < l; i++)
{
if (str.at(i) < '0' || str.at(i) > '9')
returnfalse;
}
// if we reach here all character are digits
returntrue;
}

系統化學習直接掃碼檢視

推薦閱讀