[英]Finding substring in String in C++
我正在從文本文件中讀取行以查找具有3個選項的狀態,可以是OUT或Discontinued或Cancelled
我這樣做:
ifstream inFile("DVD_list.txt");
string line;
char status;
while ( getline (inFile,line) ) {
std::size_t pos = line.find("Out" || "Discontinued"|| "Cancelled");
}
return 0;
如何使用find函數或表達式?
if((pos = line.find("Out")) != string::npos)
{
// handle Out
}
else if((pos = line.find("Discontinued")) != string::npos)
{
// handle Discontinued
}
else if((pos = line.find("Cancelled")) != string::npos)
{
// handle Cancelled
}
else
{
// not found
}
可能,您需要確保沒有檢測到誤報,例如“某些示例文本沒有輸出”!
std::istringstream is( "I hope it won't rain today" );
auto x = std::find( std::istream_iterator<std::string>( is ),
std::istream_iterator<std::string>(),
"rain" );
if ( x != std::istream_iterator<std::string>() ) std::cout << *x << std::endl;
這是一個示例代碼。
find()只能匹配一個字符串常量,你必須調用它三次。 但是您可以使用正則表達式來匹配這三個單詞並一次處理整行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.