文本处理用c还是用python

2025-12-02 0 84,799

文本处理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)
{
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++<

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++这些方法提前包装好了,也是很不错的)。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:以上部本文内容由互联网用户自发贡献,本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。投诉邮箱:3758217903@qq.com

ZhiUp资源网 常见问题 文本处理用c还是用python https://www.zhiup.top/6799.html

相关