python新手小白,求大佬们帮忙,关于python处理字符串去除中文的问题

我想提取一个文本中除了中文以外的英文,数字,以及各种符号,用以下代码,能把所有的中文提取出来,有没有什么办法能在原文件中将提取出来的这一部分中文去掉剩下英文数字和各种符号,请求各位大佬帮忙,不尽感激。

import re


def open_file(file):
    with open(file, 'r') as f:
        return f.read()


def find_chinese(file):
    pattern = re.compile(r'[^\u4e00-\u9fa5]')
    chinese = re.sub(pattern, '', file)
    print(chinese)


find_chinese(open_file('F:/compare/http.txt'))

2个回答

如果问题得到解决,请点我回答左上角的采纳和向上的箭头,谢谢

def find_english(file):
    pattern = re.compile(r'[\u4e00-\u9fa5]')
    english = re.sub(pattern, '', file)
    print(english)
import re


def open_file(file):
    with open(file, 'r',encoding="utf8") as f:
        return f.read()


def find_chinese(file):
    pattern = re.compile(r'[^\u4e00-\u9fa5]')
    chinese = re.sub(pattern, '', file)
    print(chinese)

def find_unchinese(file):
    pattern = re.compile(r'[\u4e00-\u9fa5]')
    unchinese = re.sub(pattern,"",file)
    print(unchinese)


#find_chinese(open_file('F:/compare/http.txt'))
find_unchinese(open_file('F:/compare/http.txt'))

楼上的思路是对的,你的代码是把非中文替换为空,取非中文只要将中文找出来替换为空就可以了。
注意:
打开文件时要用utf8否则会可能会报错。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
python处理中文字符串
使用tensorflow做聊天机器人时,处理数据时遇到一个问题,需要统计常用汉字,这样就需要读取中文字符串中的单个汉字并进行统计。而适用于英文字符串的方法并不适用于中文字符串,因此需要通过下述的方法来读取中文字符串中的单个汉字字符。 s = '今天天气非常好hhh' for i in s.decode('utf-8'): print i, #结果: # 今 天 天 气 非 常 好 ...
python处理中文字符串的问题
开始提取百科的词条统计信息,遇到如图一所示的问题,之前也遇到过但不知道怎么回事,今天逐条审查才发现原来是中文字符串问题,比如这种:Python中默认情况下,赋值strs = '默认编码是ascii',输出strs[0],结果为'Ä',输出strs[10]为'a',输出strs[0:2]才是'默' 因为字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicod
大佬们,求帮忙
[img=https://img-bbs.csdn.net/upload/201808/30/1535617908_474864.jpg][/img] 这个情况怎么解决啊,求大神们指导,
大佬们求帮忙
#includern#includern#includernusing namespace std;rntypedef structrn float data;rn int index;rnElement;rnclass Polynomialrn public:rn void create();rn void print();rn void add(Polynomial &a,Polynomial &b); rn //private:rn vectorPolynomial_vector;rn;rnvoid Polynomial::create()rn int m,i;rn Element p;rn cout<<"输出一元多项式的项数:";rn cin>>m;rn for(i=0;i>p.data>>p.index;rn Polynomial_vector.push_back(p);rn rnrnvoid Polynomial::print()rn vector::iterator iter;rn for(iter=Polynomial_vector.begin();iter!=Polynomial_vector.end();iter++)rn if((*iter).data!=0)rn if((*iter).index==0)rn cout<<(*iter).data<::iterator iter1=a.Polynomial_vector.begin();rn vector::iterator iter2=Polynomial_vector.begin(); rn vector::iterator iter3;rn Element t;rn int temp;rn nomial_vector.end()))rn temp=(*iter1).index;rn iter3=find(Polynomial_vector.begin(),Polynomial_vector.end(),temp);rn if(iter3!=Polynomial_vector.end())rn if((*iter1).data+(*iter2).data!=0)rn t.index=(*iter1).index;rn t.data=(*iter1).data+(*iter2).data;rn b.Polynomial_vector.push_back(t) ;rn iter1++;rn iter2++;rn rn elsern iter1++;rn iter2++;rn rn rn elsern b.Polynomial_vector.push_back((*iter1));rn iter1++;rn rn rn if(iter1!=a.Polynomial_vector.end())rn b.Polynomial_vector.push_back(*iter1++);rn rn if(iter2!=Polynomial_vector.end())rn b.Polynomial_vector.push_back(*iter2++);rn rn rnrnrnbool com(Element e1,Element e2)rn return e1.index
python处理字符串问题
len(content_str)时就出错rncontent_str是一个字符串类型rn用print 能打印出来 打印内容有乱码 也有正常显示的内容rn我需要提取它里边的一部分内容(此部分内容正常显示)rn但是所有关于string的方法都报错(len() index()等函数)rn不知道是不是编码问题?rn请热心的网友帮忙rnstring已经importrnrn
python处理字符串的问题
如字符串Na2CO3+HCl=NaCl+H2O+CO2rn运用split()函数可以最终得到Na2CO3rn如何将Na2CO3拆分成字母Na加数字2加字母C加字母O加数字3rn并将字母替换成a,b,c并与对应的数字组合
python处理中文的问题
python连接数据库之后查询出的字段有中文的 rnrn可以print,但是当往文件里写得时候就写不进去了rnrn数据库是utf-8的rnrn网上找了不少的资料,但没找到解决办法rnrn求救···
python 处理字符串中'\ue'的去除
(1)读出带有转意字符的表示形式: a = '\ue110蓝菲' for i in a: print(i) '\ue110'是用''表示的 (2)替换'' a.replace('','')
python字符串去除空格
python 字符串去除空格可以用到strip()方法,这个是去除字符串的两边空格。代码:m = ' jafefefe 'minfo = m.strip()print minfo输出结果:jafefefe如果你只需要去除右边的空格,可以用rstrip()m = ' jafefefe 'minfo = m.rstrip()print minfo输出结果: jafefefe如果你只需要去除左边的空格...
【Python】去除字符串空格
1.构造包含空格字符串 &gt;&gt;&gt;s = ' 4193 with words ' 2.去除s中两边的空格 &gt;&gt;&gt;s.strip() &gt;'4193 with words' 3.去除s左边空格 &gt;&gt;&gt;s.lstrip() &gt;'4193 with words ' 4.去除s右边空格 &gt;&gt;&gt;s.rstrip() &gt;' ...
求大佬们帮助小白关于静态变量static的问题
以下是学习C++编写的代码,程序正常运行,但是输出结果为:学生总人数: 001E14C4,平均成绩是: 001E14BF,每次地址都不一样,求告知哪里出错了? class Student { public: Student (int id, double score) { m_id = id; m_score = score; m_count++; sum_score += score; } ...
python编程题求大佬帮忙
编写一个函数,计算1+1/3+1/5+...+1/99的和
新手求大佬帮忙看看
刚学C语言,实在没法理解。昨天自己憋了一下午,也没看出什么地方有问题。rn[code=c]#pragma warning(disable:4996)rn#includernint main()rnrn char str1[30], str2[30];rn printf("please enter string:");rn gets(str1);rn printf("which character that begin to copy? ");rn int m;rn scanf("%d", &m);rn void str_c(char x[], char y[], int n);rn str_c(str1, str2, m);rn printf("%s\n", str2);rn return 0;rnrnvoid str_c(char x[], char y[], int n)rnrn int i;rn for (i = n; i != '\0'; i++)rn rn y[i - n] = x[i];rn y[i - n] = '\0';rnrn[/code]rnrnrn后面写的str_c 函数目的是想把字符串x中第n个字符后面的复制到字符串y中去。真的无法理解为什么这么写会运行出错?rn有没有前辈解释一下哪错了?谢谢
python 小白问题 求解答~
a=[2,3,1,5,2,1,4,1,21,......]rn列表数值很多,我想生成新的列表b,b中的每个值为a列表中相对应位置的前20个数相加之和,请问如何用python编程~~~万分感谢
python 小白求帮助
最近想了解一下python 写了一点小代码 爬巨潮网的数据 但是遇到了这个问题 在页面上打开源码可以看到tbody的数据 但是在代码里面怎么都读取不到数据 是这个网站禁止爬虫获取数据吗[img=https://img-bbs.csdn.net/upload/201903/07/1551942511_407982.png][/img][img=https://img-bbs.csdn.net/upload/201903/07/1551942511_809207.png][/img][img=https://img-bbs.csdn.net/upload/201903/07/1551942511_954852.png][/img][img=https://img-bbs.csdn.net/upload/201903/07/1551942512_88514.png][/img]
Python小白求指点
学习Python一段时间了把最近写的爬虫传上来
大佬们,新手求助
大佬们,求助,如何用esp8266传输温湿度,单片机用89c52
关于python新手的问题
#!/usr/bin/pythonrnimport os,stringrn#import Baserndef getlist(path,service):rn os.chdir(path)rn s=os.listdir(path)rn for i in range(0,len(s)):rn if s[i]==service:rn os.chdir(service)rn h = open("list.txt")rn infile = h.readlines() or []rn h.close()rn if infile:rn infile = [line.rstrip('\r\n') for line in infile]rn return infile rnx=getlist("/root/python/service/","oss")rnprint xrndef execmysql(mysql_databaseaddress,mysql_databaselogin,mysql_databasepasswd,mysql_databasename,mysql_sqlfilepath,mysql_sqlfilename):rn result=os.system('mysql -h%s -u%s -p%s %s < %s/%s ' %(mysql_databaseaddress,mysql_databaselogin,mysql_databasepasswd,mysql_databasename,mysql_sqlfilepath,mysql_sqlfilename))rn if result==0:rn print ("ok,execmysqlfile %s/%s succeed!" %(mysql_sqlfilepath,mysql_sqlfilename))rn else:rn print ("execmysqlfile %s/%s failed!" %(mysql_sqlfilepath, mysql_sqlfilename))rnexecmysql("10.10.30.187","sstv","sstv@2009","tvdoss","/root/python/service/oss/init",x)rnrnrn为什么我执行的时候她出现这样的错误:rn[root@localhost python]# python ttt.py rn['a.sql', 'b.sql', 'c.sql']rnsh: /root/python/service/oss/init/[a.sql,: No such file or directoryrn[2009-07-28 14:35:52,410](ERROR)intall : execmysqlfile /root/python/service/oss/init/['a.sql', 'b.sql', 'c.sql'] failed!rnrnrn为什么会带了个“[”,execmysql这个函数是没问题的。getlist函数怎样实现读取指定文件list.txt里的行,并执行每行。rn 那为高手能帮我解决下这个问题!
小白,求大佬指导
package lianxi1;rnimport java.util.*;rnpublic class SY3 rn public SY3()rn rn List list=new ArrayList();rn list.add(1);rn list.add(10);rn list.add(5);rn list.add(7);rn list.add(6);rn list.add(2);rn list.add(9);rn list.add(20);rn list.add(14);rn list.add(35);rn System.out.println("原序列:");rn for(int i=0;i<=list.size()-1;i++)rn rn System.out.println(list.get(i));rn rn System.out.println("新序列升序");rn Collection.sort(list);rn for(int i=0;i(SY3.java:23)rn at lianxi1.SY3.main(SY3.java:40)rn
python新手小白的多线程练习
python新人小白,希望各位大佬多指点! work1.py import threading class Buffer1(object): def __init__(self): # 缓冲区数据 self.value = 0 # 缓冲区状态 self.empty = True # True缓冲区为空 False缓...
python新手,求前辈们指导,谢谢·
[img=https://img-bbs.csdn.net/upload/201609/03/1472835635_595875.png][/img]rn运行错误提示local variable 'PhoneBook' referenced before assignment,这个该如何解决,谢谢各位前辈了。rn[code=python]#!/usr/bin/pythonrn# Filename: myPhoneBook2.pyrn# -*- coding: utf-8 -*-rnrnimport rernrnclass PhoneBook(object):rn '''This is a phonebook.rn rn AddContact # Add contacts informationrn ShowContact # Search names and show contactsrn SaveContacts # Save contacts to a TXT archive(storage mode----name: number/number)rn LoadContacts # Load contacts from the TXT archivesrn '''rnrn def __init__(self):rn self.contactsDict = rn rn def AddContact(self):rn while True:rn name = raw_input('Please input the name:')rn name = name.strip() # the name must include valid stringrn if name != '':rn breakrn print '***name can\' be NULL'rnrn while True:rn number = raw_input('Please input the number:')rn number = re.sub(r'\D', '', number)rn # if the string is not number, then clearrn if number != '':rn breakrn print '***number must be digit'rnrn cover = True # if the contact exists, whether override or notrn if self.contactsDict.haskey(name):rn print 'the contact must exist.'rn self.ShowContact(name)rn while True:rn control = raw_input('''rn enter "c": override the original numberrn enter "n": save original numbers and storage new numbersrn enter "q": exit\n>>>''')rn if control.lower() == 'n':rn cover = Falsern breakrn if control.lower() == 'c':rn breakrn if control.lower() == 'q':rn return Nonern print '***Input Error!'rnrn if cover:rn self.contactsDict[name] = numberrn else:rn if number in self.contactsDict[name]:rn print '***Number must exist'rn else:rn self.contactsDict[name] = self.contactDict[name] + '/' + numberrnrn def ShowContact(self, name):rn print '+++++++++++++++++++++++++++++++++++++'rn if self.contactsDict.has_key(name):rn print '[contact information]'rn print '[name: %s]' % namern numberList = self.contactsDict[name].split('/')rn for num in range(len(numberList)):rn print '[number: %s]' % (number+1, numberList[num])rnrn else:rn print 'contact %s is not found' % namern print '+++++++++++++++++++++++++++++++++++++'rnrn def DeleteNumber(self, name):rn if self.contactsDict.has_key(name):rn self.ShowContact(name)rn number = self.contactsDict[name].split('/')rn while True:rn print '''rn Pleasr input the contacts quenern or enter "a" delete the contactrn or enter 'q' exit(not delete)rn (warning: if all contacts must be cleared, and also the contact's information.)'''rn control = raw_input('>>>')rn if control.lower() == 'q':rn breakrn elif control.lower() == 's':rn del self.contactsDict[name]rn breakrn elif control.isdigit() and int(control) <= len(number):rn del number[int(control)-1]rn self.contactsDict[name] = '/'.join(number)rn breakrn else:rn print '***Input Error!'rnrn def LoadContacts(self):rn try:rn PhoneBook = open('PhoneBook.txt', 'a+')rn contacts = PhoneBook.read()rn if contacts == '':rn print '***Phonebook is blank.'rn else:rn ContactsList = contact.split('\n')rn for contact in ContactsList:rn if not contact == '':rn contact = contact.split('\n')rn name = contact[0]rn number = contact[1]rn self.contactsDict[name] = numberrn finally:rn PhoneBook.close()rnrn self.contactsDict = line.split(':')[0]: line.split(':')[1] for line in open('PhoneBook.txt', 'a+').readlines()rnrn def SaveContacts(self):rn try:rn if self.contactsDict:rn PhoneBook = open('PhoneBook.txt', 'w')rn for name, number in self.contactsDict.items():rn line = name + ':' + numberrn PhoneBook.write(line)rn PhoneBook.write('\n')rn else:rn print '***Contacts information are not found!'rn finally:rn PhoneBook.close()rnrnrnif __name__ == '__main__':rn myPhoneBook = PhoneBook()rn myPhoneBook.LoadContacts()rn try:rn while True:rn raw_input('enter HUICHE button to contine:')rn print '''rn -----------------------------------------------rn Enter a: Adds a new contactrn Enter s: Show all contacts informationrn Enter d: Delete contactsrn Enter q: Exitrn -----------------------------------------------'''rn control = raw_input('>>>')rn if control.lower() == 'a':rn myPhoneBook.AddContact()rn elif control.lower() == 's':rn name = raw_input('Please input the contact you want to find.\n>>>')rn myPhoneBook.ShowContact(name)rn elif control.lower() == 'd':rn name = raw_input('Please input the contacts\' name you want to delete.\n>>>')rn myPhoneBook.DeleteNumber(name)rn elif control.lower() == 'q':rn breakrn else:rn print '***Input Error!'rn finally:rn myPhoneBook.SaveContacts()rnrnrn[/code]rn
那位大佬帮忙看看这段代码,python小白
![图片说明](https://img-ask.csdn.net/upload/201907/16/1563285337_961138.png)
python 求大佬给出解决方法
[img=https://img-bbs.csdn.net/upload/201907/29/1564365842_912558.png][/img]
初学python 求大佬指点!
初学python,遇到一点疑问,请大佬指点一二!多谢!看廖雪峰老师python3.X教程,发现一个疑问,以下为廖老师原文:字符串是以单引号'或双引号&quot;括起来的任意文本,比如'abc',&quot;xyz&quot;等等。请注意,''或&quot;&quot;本身只是一种表示方式,不是字符串的一部分,因此,字符串'abc'只有a,b,c这3个字符。如果'本身也是一个字符,那就可以用&quot;&quot;括起来,比如&quot;I'm OK&quot;包含的字符是I,',m,空...
python中文问题怎么处理?
python中文问题怎么处理?要是不能显示中文,那这个咚咚对我们来说能做什么事情啊?
python新手----字符串乱码问题
在网上查了好久都没找出来问题 烦请各位帮忙看下 不胜感激!rn以下为我的代码rn-------------------------------------------------------------rn# coding=utf-8 rnname = raw_input('请输入')rnprint namernprint name.decode('UTF-8').encode('GBK')rn--------------------------------------------------------------rn以上为我的代码rnrn第一次输入结果[img=https://img-bbs.csdn.net/upload/201406/17/1402995627_756743.png][/img]rn-------------------------------rn请输入你好rn浣犲ソrn你好rn------------------------------rn第二次输入结果[img=https://img-bbs.csdn.net/upload/201406/17/1402995637_830924.png][/img]rn-----------------------------rn请输入你rn浣rnTraceback (most recent call last):rn File "D:\163580\workspace\zyxPy\src\com\deppon\zyx\__init__.py", line 4, in rn print name.decode('UTF-8').encode('GBK')rnUnicodeEncodeError: 'gbk' codec can't encode character u'\ufffd' in position 1: illegal multibyte sequencern-----------------------------rnrn另外再问下 怎么把那黑黑的背景给换下啊?rnrn先谢过各位了!
Python菜谱-字符串去除空格
一般来说,字符串处理都需要空格 有三个方法处理来处理字符串,lstrip,rstrip,strip。   x = ' hej ' print '|', x.lstrip( ), '|', x.rstrip( ), '|', x.strip( ), '|' | hej | hej | hej |    ...
python 去除字符串某个字符
使用python去除字符串中的某个字符 s = '12345/.txt' # 先将字符串转化为list tmp = list(s) # 删除字符串中的倒数第5位,在s中就是'/' tmp[-5] = '' # 使用join函数将tmp转化为字符串 s = ''.join(tmp) print(s)
python去除字符串中的换行符
今天写这个,要用python去除字符串中的换行符并写入文件,网上查阅,就一句代码replace("\n",""),加上之后,搞了半天,还是不对。以下是我今天遇到的问题,以下是解决方案。本地测试是window系统,正式用的时候是unix服务器。两者对换行符具体有什么差别我也不是很清楚。于是将 字符串写入的文件用 notepad打开,显示 行尾符(如何用notepad显示行尾符自己百度),发现是 CR
python正则如何去除字符串
比方说我有一段文本,s=" testtestwww.csdn.net someother",我想去除除标签和标签以外的所有标签,即经过处理后得到的字符串应该是"testtestwww.csdn.netsomeother",python的正则感觉好别扭,求大神指教
python关于字符串的问题
比如,a="cc'bb'"这个式子,我想把他变成字符串,就是str='a="cc'bb'"'可是这个写法不行,在既有单引号又有双引号的时候,我应该怎么样来解决这个问题呢? 用转义符么?rn请大家帮帮忙,谢谢了
python小白整理笔记——字符串
python小白整理笔记——字符串 str1=‘adahdkahd’ 默认字符串 字符串一旦创建不可更改 字符串str1 从左向右每个字符的下标依次为0、1、2、3、4、5等 从右向左每个字符的下标依次为-1、-2、-3、-4、-5等 (负数表示从右向左 从-1开始依次递减(print(str1[-1])=d) 字符串不可更改 str1[0]=‘b’ 结果报错。 1. len(str1) 检测字符...
python字符串的处理
字符串: 通过索引访问字符串,几乎所有的通过索引来访问的情况,索引用下标表示,[] a="hello world" print a[0] print a[-1] --通过python的for range 来处理 b="  123456789 " a=b.strip() total=0 for i in a: total+=int(i) print total
python字符串基本处理
# -*- coding: utf-8 -*- import string # strip去除空格 s = ' abcd efg ' print(s.strip()) print(s.lstrip()) print(s.rstrip()) print(s) print('---------') # 字符串连接 print('abc_' + 'defg') s = 'abcdefg' s +=
Python处理字符串
删除字符串空格,分割字符串,将列表字符元素转换为数字
Python下unicode字符串的处理
在python,正常的unicode的解码可以通过‘utf-8’来解决,类似的代码如下: page_content.decode('utf-8') 如果网页保护很多中文字符,也可以使用gb2312来解决解码问题,类似的代码如下: page_content.decode('gb2312') 当遇到unicode字符串的时候,上面的2种方法就不行了,需要使用unicode字符串解码
Python第七天,字符串的处理
字符串格式化 print("我叫{},今年{}".format("小明", 56)) print("我叫{0},今年{1},我今年真的{1}岁了".format("小明", 18)) print("我叫{name},今年{age},我今年真的{age}岁了".format(name="小明", age=18)) print("{:*^15}".format("今天天气真好")) print("{:...
请教 python 处理字符串
一个文本文件rn格式如下rnrn字段1 字段2:字段3 字段4:字段5 字段6 字段7rn字段8rnrn字段1 字段2:字段3 字段4:字段5 字段6 字段7rn字段8rnrn....rnrnrn样例rn1 a:0 b:35 10 s rn0000rnrn2 a:55 b:35 10 s rn00001111rnrnrn字段1与字段2之间为两个空格分割rn字段2与字段3之间为一个:分割rn字段7与字段8之间为两个空格和一个\n分割rnrn两个数据块之间为双\n\n分割rnrn请问用python提取这8个字段的内容,该怎么写?感激不尽...
python处理中文文件名
处理中文文件名时,遇到编码问题,首先在代码开头已经加上了#encoding:utf-8,仍然报错 这肯定还是编码问题了 我又找了很多编码的资料 用了很多方法 有encode decode unicode 经过一番折腾 也用open成功打开了文件 但是 后来我查到 最规范的打开文件不用那么麻烦 应该是这样的import os.path file_name=os.path.normcase(u"
python处理中文(待补充)
字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码。 decode的作用是将其他编码的字符串转换成unicode编码,如str1.decode('gb2312'),表示将gb2312编码的字符串str1转换成unicode编码...
相关热词 c#检测非法字符 c#双屏截图 c#中怎么关闭线程 c# 显示服务器上的图片 api嵌入窗口 c# c# 控制网页 c# encrypt c#微信网页版登录 c# login 居中 c# 考试软件