我正在構建一個小的實用程序方法,它解析一行(字符串)並返回所有單詞的向量。我在下面的istringstream代碼工作正常,除了當有標點符號時,我的修復就是想在我通過while循環運行之前「清理」該行。需要一個正則表達式來從字符串中只提取字母和空白字符
我將不勝感激在C++中使用正則表達式庫的一些幫助。我最初的解決方案是我們substr()並去鎮上,但似乎很複雜,因爲我必須迭代和測試每個字符,看看它是什麼,然後執行一些操作。
vector<string> lineParser(Line * ln)
{
vector<string> result;
string word;
string line = ln->getLine();
istringstream iss(line);
while(iss)
{
iss >> word;
result.push_back(word);
}
return result;
}
您應該指定_which_ regex庫用於您要使用的C++。 STL中沒有正則表達式 - 你在使用這個:http://www.boost.org/doc/libs/1_46_1/libs/regex/doc/html/index.html? – 2011-04-04 14:35:43
我在Visual Studio 2010中使用#include。我沒有安裝任何特別的東西,並認爲它是STL的一部分。如果情況並非如此,那麼我不知道。 –
Pete
2011-04-04 14:39:33