文本处理python与c的对比:如下
c++语言:
C++语言实现C++中没有实现split功能的函数,下面用C++STL中的一些函数模拟实现split功能。#include<iostream>#include<string>#include<vector>#include<fstream>usingnamespacestd;/* @in,src:待分割的字符串 @in,delim:分隔符字符串 @in_out,dest:保存分割后的每个字符串 */voidsplit(conststring&src,conststring&delim,vector<string>&dest){ stringstr=src; string::size_typestart=0,index; stringsubstr; 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); }}intmain(){ ifstreaminfile("test.txt",ios::in); vector<string>results; stringword; stringdelim(""); stringtextline; if(infile.good()) { while(!infile.fail()) { getline(infile,textline); split(textline,delim,results); } } infile.close(); vector<string>::iteratoriter=results.begin(); while(iter!=results.end()) { cout<<*iter++<<endl; } return0;}
python语言:
在Python中有专门的函数split()对字符串进行分割,实现较为简单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原文来自:https://www.py.cn
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容