2012-10-10 33 views
1

我需要在下劃線後截斷string。 例子: -如何截斷給定表達式的字符串使用boost

std::wstring name = L"Steve_Smith"; 
trim_right_if(name, is_any_of(L"_")); 

的trim_right_if不工作,這個名字仍然是其執行後的相同。 有沒有辦法使用boost::regex

是的,我正在嘗試不使用find_first_ofsubstr,這是我知道的作品。

+1

'std :: string :: find'和'std :: string :: resize'怎麼樣? – jrok

回答

0

trim_right_if()只有在字符串結尾時纔有效。
「Steve_Smith___」==>「Steve_Smite」

你想要做的是replace_all(name, L"_", L"");

+0

replace_all只刪除下劃線,輸出是SteveSmith.I實際上是試圖重命名一個有下劃線的文件,例如test_doc.txt ==> test – user1690041

+0

replace_first(name,L「_doc.txt」,L「」) ;訣竅。 – user1690041

+0

@ user1690041 - 哈,我沒有正確地理解這個問題......但你找到答案很好。 –