Python文本查询代码怎么写

发布时间:2022-04-06 16:38:56 作者:iii
来源:亿速云 阅读:251

这篇文章主要讲解了“Python文本查询代码怎么写”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python文本查询代码怎么写”吧!

//文本查询

// 要做的事情 

// 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文本查询代码怎么写”的内容了,经过本文的学习后,相信大家对Python文本查询代码怎么写这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

推荐阅读:
  1. python代码怎么写注释
  2. python写多行代码的方法

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

python

上一篇:springboot中如何整合freemarker

下一篇:Java静态块、自由块及构造函数的执行顺序是什么

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》