文本处理用c还是用python

发布时间:2022-05-26 09:48:22 人气:25 作者:多测师

  文本处理python与c的对比:如下

  c++语言:

  C++语言实现C++中没有实现split功能的函数,下面用C++ STL中的一些函数模拟实现split功能。#include #include #include #include using namespace std;/*

  @in, src: 待分割的字符串

  @in, delim: 分隔符字符串

  @in_out, dest: 保存分割后的每个字符串

  */void split(const string& src, const string& delim, vector& dest){

  string str = src;

  string::size_type start = 0, index;

  string substr;

  index = str.find_first_of(delim, start);//在str中查找(起始:start) delim的任意字符的第一次出现的位置

  while(index != string::npos)

  {

文本处理用c还是用python

  substr = str.substr(start, index-start);

  dest.push_back(substr);

  start = str.find_first_not_of(delim, index);//在str中查找(起始:index) 第一个不属于delim的字符出现的位置

  if(start == string::npos) return;

  index = str.find_first_of(delim, start);

  }}int main(){

  ifstream infile("test.txt", ios::in);

  vector results;

  string word;

  string delim(" ");

  string textline;

  if(infile.good())

  {

  while(!infile.fail())

  {

  getline(infile, textline);

  split(textline, delim, results);

  }

  }

  infile.close();

  vector::iterator iter = results.begin();

  while(iter != results.end())

  {

  cout<<*iter++<

  }

  return 0;}

  python语言:

  在Python中有专门的函数split()对字符串进行分割,实现较为简单myfile = open('test.txt', 'r')allWords = []line = myfile.readline()while line:

  list = line.split(' ')

  for word in list:

  if word[-1]=='\n':

  allWords.append(word[:-1])#去掉行末的'\n'

  else:

  allWords.append(word)

  line = myfile.readline()myfile.close()print allWords

  相比较而言,(抛开运行效率不说),开发效率比较好的是Python,然后是c++,(但是一旦c++这些方法提前包装好了,也是很不错的)。

  以上内容为大家介绍了文本处理用c还是用python,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注多测师。https://www.e70w.com/xwzx/


返回列表
在线客服
联系方式

热线电话

17727591462

上班时间

周一到周五

二维码
线