Python文本查询代码怎么写(python,编程语言)

时间:2024-05-01 18:11:13 作者 : 石家庄SEO 分类 : 编程语言
  • TAG :

    Python%E6%96%87%E6%9C%AC%E6%9F%A5%E8%AF%A2%E4%BB%A3%E7%A0%81%E6%80%8E%E4%B9%88%E5%86%99

//文本查询

// 要做的事情

//1、把一个文本 的每一行 放入 vector 中。

// 2、记录每一个单词的行号

// 3、根据行号输出每行单词。

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文本查询代码怎么写的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:springboot中如何整合freemarker下一篇:

2 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18