㈠ Python 3.5 如何对中文字符串进行处理
在Python的string前面加上‘r’, 是为了告诉编译器这个string是个raw string,不要转意backslash '\' 。 例如,\n 在raw string中,是两个字符,\和n, 而不会专转意为换行符。由于正则表达式和 \ 会有冲突,因此,当一个字符串使用了正则表达式后,最好在前面加上'r'。
在[]中
-长用来指定一个字符集,在属这个字符集中的一个可以拿来匹配:[abc] [a-z]
-元字符在在字符集中不起作用
-在[]内用^表示补集,用来匹配不在区间范围内的字符
s=r'aba' 匹配abc
s=r't[io]p' 匹配tip或者top
s=r't[a-z0-9A-Z]'匹配t+0-9或者a-z或者A-Z
[abc]表示“a”或“b”或“c”
[0-9]表示0~9中任意一个数字,等价于[0123456789]
[\u4e00-\u9fa5]表示任意一个汉字
[^a1<]表示除“a”、“1”、“<”外的其它任意一个字符
[^a-z]表示除小写字母外的任意一个字符
㈡ python正则表达式提取字符串中的中文 字符串如下 而且是大量
如果你只是想提取标签里面的内容的话
我建议你使用beautifulsoup4
首先安装
pipinstallbeautifulsoup4
如果是内Linux或者Mac OS请在命令前加sudo
然后容把字符串放到BeautifulSoup里
最后用get_text输出里面的内容就好
frombs4importBeautifulSoup
soup=BeautifulSoup(string)
printsoup.get_text()
结果就像这样
如果还想实现其他更多的功能可以参考文档
http://www.crummy.com/software/BeautifulSoup/bs4/doc/
㈢ 请教python匹配中文字符的方法
#-*-coding:UTF-8-*-
__author__=u'丽江海月客栈'
s="""{"hearl":"","nickname":"","loginstatus":"","loginstate":"","tip":"未注册专服务属","idUser":"","sessionId":"","upgradeUrl":"","checkCodeKey":"false"}"""
ss=s.decode('utf-8')
importre
re_words=re.compile(u"[u4e00-u9fa5]+")
m=re_words.search(ss,0)
printm.group()
㈣ python中文字符串替换字符
a.replace("|","\n")应该改成a=a.replace("|","\n")
因为a.replace()并没有改变a的值,只是将从a读取出来的内容改变了
㈤ Python的中文字符串遍历问题
首先一个,你这个'a'是什么编码?可能不是你所想的gbk
>>> a='测试'
>>> a
这样试试看,如果出来是6个字(word),说明是utf-8,如果是4个字,说明是gbk。
另外,不管是utf-8还是gbk,都不能这样遍历,因为这里它会一个字一个字拿出来。虚拟机把a当成一个长度为len(a)的字符串了。
接下来是遍历问题。
linux的shell大都默认是utf-8,所以一个中文字符是三个字,所以要三个三个地读,你可以试下:
>>> a[:3]
出来就是个测字
windows的command的默认是cp936,也就是gbk,一个中文字符是两个字,所以两个字两个字地读。
还有另一种遍历的方法,把字符串转换成unicode,这样中文英文都是一个字,就可以用你的for i in a的方法遍历了。这个的好处是中文英文字符都是一个字,而utf-8和gbk里,英文字母只占一个字。
㈥ Python判断字符串中是否有中文字符
首先,在Python中字符串的表示是 用unicode编码。所以在做编码转换时,通常要以unicode作为中间编码。
decode的作用是将其他编码的字符串转换成unicode编码,比如 a.decode('utf-8'),表示将utf-8编码的字符串转换成unicode编码
encode的作用是将unicode编码的字符串转换成其他编码格式的字符串,比如b.encode('utf-8'),表示将unicode编码格式转换成utf-8编码格式的字符串
判断一个字符串中是否含有中文字符:
好了,有了以上知识,就可以很容易的解决这个问题了。这是代码
1 #-*- coding:utf-8 -*-
2
3 import sys
4 reload(sys)
5 sys.setdefaultencoding('utf8')
6
7 def check_contain_chinese(check_str):
8 for ch in check_str.decode('utf-8'):
9 if u'\u4e00' <= ch <= u'\u9fff':
10 return True
11 return False
12
13 if __name__ == "__main__":
14 print check_contain_chinese('中国')
15 print check_contain_chinese('xxx')
16 print check_contain_chinese('xx中国')
17
18 结果:
19 True
20 False
21 True
㈦ python 判断字符串是否有中文
可以通过汉字字符的范围来判断
#-*-coding:utf-8-*-
importsys
reload(sys)
sys.setdefaultencoding('utf8')
defcheck_contain_chinese(check_str):
forchincheck_str.decode('utf-8'):
ifu'u4e00'<=ch<=u'u9fff':
returnTrue
returnFalse
if__name__=="__main__":
printcheck_contain_chinese('中国')
printcheck_contain_chinese('xxx')
printcheck_contain_chinese('xx中国')
结果:版
True
False
True
网页链接
㈧ python 判断字符串中是否只有中文字符
1.输入一个字符串,随机生成S,不知道这个随机是什么意思,莫非要加密。 2.下面就简单了,把输入的字符串转换成列表,然后用in判断输入的X是不是在S列表中,在用列表方法remove移除就OK了 这个不是特别难吧!
㈨ Python 正则表达式 支持批量语料过滤中文字符之间的空格
|^
#encoding:UTF-8
importre
importsys
reload(sys)
sys.setdefaultencoding('utf-8')
source="你好啊hellohi"
usample=unicode(source,'utf8')
xx=u"((?<=[u4e00-u9fa5])s+(?=[u4e00-u9fa5])|回^答s+|s+$)"
temp=re.sub(xx,'',usample);
printtemp;
㈩ 如何使用python删除中文字符串中不连续的空白字符
#用正则
importre
str1='helloworld '
str2=re.sub(r's','',str1)
#正则's'表示空白字符,包括空版格、 等权..
printstr2#输出helloworld