【发布时间】:2015-03-24 12:48:04
【问题描述】:
我有一个带有拉丁文本的 mysql 表。我正在尝试将此文本标记为单词。
我遇到了 boost 和 ICU 标记器。问题是这些库希望我弄清楚边界这个词。
我尝试遵循 boost 代码(使用默认标记器,即空格和标点符号)。
int main(){
using namespace std;
using namespace boost;
string s = "Tänk efter nu – förr'n vi föser dig bort";
tokenizer<> tok(s);
for(tokenizer<>::iterator beg=tok.begin(); beg!=tok.end();++beg){
cout << *beg << "\n";
}
return 0;
}
它确实给了我单词列表。但在这里我假设空格是正确的单词分隔符。
考虑到这些 (http://en.wikipedia.org/wiki/ISO/IEC_8859-1#Languages_with_complete_coverage) 语言的集合,使用上述代码是否安全?
或者你有没有其他解决方案?
【问题讨论】: