這篇文章主要講解了“Python文本查詢代碼怎么寫”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Python文本查詢代碼怎么寫”吧!

//文本查詢
// 要做的事情
// 1、把一個文本 的每一行 放入 vector 中。
// 2、記錄每一個單詞的行號
// 3、根據(jù)行號輸出每行單詞。
class TextQuery
{
public:
typedef vector<string>::size_type line_no;
void store_file( ifstream& is);
set<line_no>print_lineno(string& )const;
stringprint_linestring(line_no)const ;
private:
vector<string>line_of_text;
map<string , set<line_no> >word_map;
};
void TextQuery::store_file(ifstream& is)
{
string word;
while ( getline( is,word ) )
{
line_of_text.push_back(word);
}
line_no num;
for( num=0; num != line_of_text.size(); ++num )
{
string line, tempword;
istringstream istream(line_of_text[num]);
while ( istream>> word)
{
word_map[word].insert(num);
}
}
}
set<line_no> TextQuery::print_lineno(string& str)
{
map<string, set<line_no> >::iterator iter = word_map.find(str);
if (iter == word_map.end())
{
return set<line_no>();
}
return iter->second;
}
string TextQuery::print_linestring(line_no num)
{
if ( num< line_of_text.size())
{
return line_of_text[num];
}
}
void print_result(const set<TextQuery::line_no>& los, const string& str, const TextQuery & textclass)
{
cout<<"str:"<<str<<"total num:"<<los.size()<<endl;
set<TextQuery::line_no>::iterator iter=los.begin();
for (; iter != los.end();++iter)
{
cout<< *iter+1 <<textclass.print_linestring(*iter)<<endl;
}
}
void main( void )
{
}
感謝各位的閱讀,以上就是“Python文本查詢代碼怎么寫”的內容了,經(jīng)過本文的學習后,相信大家對Python文本查詢代碼怎么寫這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián)網(wǎng)站建設公司,,小編將為大家推送更多相關知識點的文章,歡迎關注!
文章題目:Python文本查詢代碼怎么寫-創(chuàng)新互聯(lián)
轉載來于:http://www.chinadenli.net/article22/deihcc.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供響應式網(wǎng)站、品牌網(wǎng)站建設、網(wǎng)站營銷、企業(yè)網(wǎng)站制作、服務器托管、Google
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)