python正則分割
① python正則表達式匹配一個空格分隔的所有單詞對
findall應該只能按著你的patten順次往後找,所以出不來你想要的那種結果吧,倒不如直接用split分割然後寫個循環輸出你要的結果
import re
patt = r'\W+'
str1 = 'as jk jsd eqwe dsads'
reg = re.compile(patt)
res = reg.split(str1)
lst = []
for x in res:
if x:
length_flag = 0
else:
length_flag = 1
for x in range(0,len(res)-length_flag-1):
lst.append((res[x],res[x+1]))
print(lst)
輸出結果就是你要的了
[('as', 'jk'), ('jk', 'jsd'), ('jsd', 'eqwe'), ('eqwe', 'dsads')]
我用的python3所以print帶了括弧,
另外我是個沒啥基礎剛自學的 方法可能非常笨拙
② python 正則 分割中文的問題。。
基本思路是對的,那個正則表達式寫錯了。給你改一下,
>>>s=u'我是一個我二你我四呵呵你好啊我在操場上'
>>>printre.split(u'(?isu)我[是在二四]',s)[0]
正則表達式串也應該是unicode的。另外加上(?isu), 這樣表示忽略大小,可以多行搜索,可以搜索unicode
③ 用python,正則或其他方法,分割字元串
a="""cellId=0xd,ueId=0xd0000,ueIndex=0x0,crnti=0x54e5
trId=6815744ueId=851968crnti=21733hoType=0numOfSrb=1numOfDrb=0poolId=0
cellId=0xd,ueId=0xd0002,ueIndex=0x10,crnti=0x5567"""
#先格式處理,將'=',換行符和''統一使用逗號分隔
a=a.replace("",",").replace("=",",").replace(" ",",")
#過濾無效的值
b=filter(None,a.split(","))
#轉換成字典
d=dict(zip(b[0::2],b[1::2]))
d就是你要的字典,不過你這給出的可是有重復的鍵呢,比如ueId,它就是重復的,重復的取最後一次覆蓋的值,
④ python正則利用中文分割
結果哪裡一樣了啊
第一條命令使用中文字元作為分隔符,得到的是數字
第二條命令使用數字作為分隔符,得到的是中文字元
⑤ python中分割字元串
imkow正解,直接轉list最好,否則自己寫list comprehension其實隱含的還是把字元串當list用,多此一舉
⑥ python正則表達式的分割
result=re.split(pattern,val,1)
print(result)
⑦ python 字元串分割截取
>>>
10.1.1.100,10.2.100.125,189.10.2.40,189.0.100.50
10.1.1.1,10.2.100.1,189.10.2.1,189.0.100.1str='10.1.1.100,10.2.100.125,189.10.2.40,189.0.100.50'
print(str)
str=str.split(',')
str1=[]
forelementinstr:
list=element.split('.')
list[len(list)-1]='1'
list='.'.join(list)
str1.append(list)
str1=','.join(str1)
print(str1)
⑧ python正則分割字元串的問題
按照你的要求編寫的python程序如下(先把小括弧外的逗號,用sub函數替換成連字元-,再根據連字元-用split函數切分成字元串數組)
#!/usr/bin/python
importre
a='(1,2),(3,4),(5,5)'
s=re.sub(r',(?=[^)]*((|$))','-',a)
print's=',s
result=re.split('-',s)
print(result)
運行結果
s=(1,2)-(3,4)-(5,5)
['(1,2)','(3,4)','(5,5)']
⑨ python 怎麼將字元串分割
固定長度分割,直接通過[:3] 這種來取。
固定分隔符一般用split
看你需求,其他的方式也有。最好有個例子。
⑩ python字元串分割
格式太亂了,給你個參考吧
import re
s = 'type <unsigned int>\nport_num:4\nport:<in_port><sc_out<sc_uint<4>>>'
a = s.split('\n')
ok = []
for i in a:
if re.match('>',i[len(i)-1]):
print(i[:len(i)-1].replace('><',',').replace(':<',',').replace(' <',','))
else:
print(i.replace(':',','))