我需要在下劃線後截斷string
。 例子: -如何截斷給定表達式的字符串使用boost
std::wstring name = L"Steve_Smith";
trim_right_if(name, is_any_of(L"_"));
的trim_right_if不工作,這個名字仍然是其執行後的相同。 有沒有辦法使用boost::regex
?
是的,我正在嘗試不使用find_first_of
和substr
,這是我知道的作品。
我需要在下劃線後截斷string
。 例子: -如何截斷給定表達式的字符串使用boost
std::wstring name = L"Steve_Smith";
trim_right_if(name, is_any_of(L"_"));
的trim_right_if不工作,這個名字仍然是其執行後的相同。 有沒有辦法使用boost::regex
?
是的,我正在嘗試不使用find_first_of
和substr
,這是我知道的作品。
trim_right_if()
只有在字符串結尾時纔有效。
「Steve_Smith___」==>「Steve_Smite」
你想要做的是replace_all(name, L"_", L"")
;
replace_all只刪除下劃線,輸出是SteveSmith.I實際上是試圖重命名一個有下劃線的文件,例如test_doc.txt ==> test – user1690041
replace_first(name,L「_doc.txt」,L「」) ;訣竅。 – user1690041
@ user1690041 - 哈,我沒有正確地理解這個問題......但你找到答案很好。 –
'std :: string :: find'和'std :: string :: resize'怎麼樣? – jrok