文本处理用c还是用python

python

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

c++语言:

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

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

@in, delim: 分隔符字符串

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

*/void split(const string& src, const string& delim, vector<string>& 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)

{

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<string> results;

string word;

string delim(" ");

string textline;

if(infile.good())

{

while(!infile.fail())

{

getline(infile, textline);

split(textline, delim, results);

}

}

infile.close();

vector<string>::iterator iter = results.begin();

while(iter != results.end())

{

cout<<*iter++<<endl;

}

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]=='

':

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

'

else:

allWords.append(word)

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

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

以上是 文本处理用c还是用python 的全部内容, 来源链接: utcz.com/z/529159.html

回到顶部