文本處理python與c的對比:如下
c++語言:
C++語言實(shí)現(xiàn)C++中沒有實(shí)現(xiàn)split功能的函數(shù),下面用C++STL中的一些函數(shù)模擬實(shí)現(xiàn)split功能。#include#include#include#includeusingnamespacestd;/*
@in,src:待分割的字符串
@in,delim:分隔符字符串
@in_out,dest:保存分割后的每個字符串
*/voidsplit(conststring&src,conststring&delim,vector&dest){
stringstr=src;
string::size_typestart=0,index;
stringsubstr;
index=str.find_first_of(delim,start);//在str中查找(起始:start)delim的任意字符的第一次出現(xiàn)的位置
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的字符出現(xiàn)的位置
if(start==string::npos)return;
index=str.find_first_of(delim,start);
}}intmain(){
ifstreaminfile("test.txt",ios::in);
vectorresults;
stringword;
stringdelim("");
stringtextline;
if(infile.good())
{
while(!infile.fail())
{
getline(infile,textline);
split(textline,delim,results);
}
}
infile.close();
vector::iteratoriter=results.begin();
while(iter!=results.end())
{
cout<<*iter++<
}
return0;}
python語言:
在Python中有專門的函數(shù)split()對字符串進(jìn)行分割,實(shí)現(xiàn)較為簡單myfile=open('test.txt','r')allWords=[]line=myfile.readline()whileline:
list=line.split('')
forwordinlist:
ifword[-1]=='\n':
allWords.append(word[:-1])#去掉行末的'\n'
else:
allWords.append(word)
line=myfile.readline()myfile.close()printallWords
相比較而言,(拋開運(yùn)行效率不說),開發(fā)效率比較好的是Python,然后是c++,(但是一旦c++這些方法提前包裝好了,也是很不錯的)。
以上內(nèi)容為大家介紹了文本處理用c還是用python,希望對大家有所幫助,如果想要了解更多Python相關(guān)知識,請關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。