㈠ 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