python字母替換
⑴ python 字元串替換
str='aaaaaaaaaa'
ls=list(str)
ls[2]='0'
ls[3]='0'
ls[4]='0'
ls[5]='0'
ls[6]='0'
new_str=''.join(ls)#'aa00000aaa'
⑵ python 字元串替換問題
old='stsf'
pos=old.find('s')
if(pos!=-1):
new=old[:pos+1]+old[pos+1:].replace('s','A',1)
printnew
else:
print"Substring's'notfound!"
用字元串切片。
下面是更通用些的代碼(封裝成函數)。
defreplaceN(string,old,new,n):
'''Returnaofthestringwiththe'n'occurrenceofsubstring'old'replacedby'new'.
Ifsubstring'old'isnotfound,originalstringisreturned.
'''
if(n==1):returnstring.replace(old,new,1)
pos=-1;search=0
while(search<n-1):
search+=1
pos=string.find(old,pos+1)
if(pos==-1):returnstring
returnstring[:pos+1]+string[pos+1:].replace(old,new,1)
printreplaceN('stsftst','s','A',2)
⑶ python中如何批量替換字母+數字為浮點數或整數類型
給你個思路:
1. 通過正則表達式,來提取你要求的數據,前面兩個字母,後四位數字。
2. 對提取的數據進行分離出字母和數字兩部分。
3. 將提取的數字部分進行轉換
4. 然後在將字母和轉換後的數字進行拼接,這步可有可無。。。
當然還有個簡單的方法,上面的思路是清晰的,但是相對來說是繁瑣的,比較low。
希望能幫到你。。。。。。
⑷ python字元替換replace
1、用字元串本身的replace方法
復制代碼代碼如下:
a.replace('word','python')
輸出的結果是hello
python
2、用正則表達式來完成替換:
復制代碼代碼如下:
import
re
strinfo
=
re.compile('word')
b
=
strinfo.sub('python',a)
print
b
輸出的結果也是hello
python
至於用哪個方法的話,看你自己的選擇了。
⑸ python 把文件中的小寫字母替換為大寫字母
f = open('2.txt', 'r')
f2 = open('3.txt', 'r')
這樣寫
⑹ python的字元串替換問題
樓主搞生物的?很像鹼基對啊。replace是替換整串字元串的,但是這里不方便,因為你把AA替換成TT後,就變成TTTT,然後再替換,變為AAAA,沒有達到效果,除非你用另外的字元代替,不過,這樣就沒有python的簡潔優美了,所以這個問題用re最方便,下面是代碼:
#coding=utf-8
importre
astr='AATTCCGG'
charmap={'AA':'TT','TT':'AA','CC':'GG','GG':'CC'}
new=re.sub(r'AA|TT|CC|GG',lambdax:charmap[x.group(0)],astr)
print(new)#python2為printnew
⑺ python 字元串替換求解
使用正則,
#!/usr/bin/python
#-*-coding:UTF-8-*-
importre
phone="2004-959-559#這是一個國外電話號碼"
#刪除字元串中的Python注釋
num=re.sub(r'#.*$',"",phone)
print"電話號碼是:",num
#刪除非數字(-)的字元串
num=re.sub(r'D',"",phone)
print"電話號碼是:",num
以上實例執行結果如下:
電話號碼是: 2004-959-559
電話號碼是 : 2004959559
⑻ python大小寫字母轉換代碼
利用函數進行字母的大小寫轉換
upper():所有字母大寫
lower():所有字母小寫
capitalize():首字母大寫,其他字母小寫
title():每個單詞首字母大寫,其他小寫
示例:
#encoding:UTF-8
msg = 'www.BAIDU.com.123'
print(msg.upper()) #upper()函數,將所有字母都轉換成大寫
print(msg.lower()) #lower()函數,將所有字母都轉換成小寫
print(msg.capitalize()) #capitalize()函數,將首字母都轉換成大寫,其餘小寫
print(msg.title()) #title()函數,將每個單詞的首字母都轉換成大寫,其餘小寫
結果:
www.BAIDU.COM.123
www..com.123
www..com.123
www.Bai.Com.123
利用循環語句進行字母的大小寫轉換
Python中每個字母都有編號,可以根據編號來判斷是大寫字母還是小寫字母,大寫字母A的編號為:65,大寫字母Z的編號為90,小寫字母a的編號為:97,小寫字母z的編號為122;大小寫字母之間的編號相差32,可以利用這個來進行大寫寫的轉換
示例:
#encoding:UTF-8
msg = 'www.BAIDU.com.123'
for num in msg:
if 97 <= ord(num) <= 122: #小寫字母
upper_num = ord(num)-32 #大小寫字母之前差了32
#chr()函數可以將編碼數值轉為字元(python沒有字元的概念)
print (chr(upper_num),end='')
else:
print(num,end='') #不是小寫字元,原樣輸出
print() #輸出一個換行符
msg = 'www.BAIDU.com.123'
for num in msg:
if 65 <= ord(num) <= 90: #大寫字母
upper_num = ord(num)+32 #大小寫字母之前差了32
#chr()函數可以將編碼數值轉為字元(python沒有字元的概念)
print (chr(upper_num),end='')
else:
print(num,end='') #不是大寫字元,原樣輸出
結果:
www.BAIDU.COM.123
www..com.123
————————————————
版權聲明:本文為CSDN博主「捨得齋」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/u014642915/article/details/103149769
⑼ python中如何對多個字元快速替換
python中快速進行多個字元替換的方法小結
先給出結論:
要替換的字元數量不多時,可以直接鏈式replace()方法進行替換,效率非常高;
如果要替換的字元數量較多,則推薦在 for 循環中調用replace()進行替換。
- string.replace().replace()
可行的方法:
1. 鏈式replace()
?
11.x 在for循環中調用replace()「在要替換的字元較多時」
2. 使用string.maketrans
3. 先 re.compile 然後 re.sub
⑽ python如果含有兩個相同字母,如何將其中一個替換成其他字元
採取的演算法是:將第一和除其之外的每個字母對比,相同即記下替換後的word,依次下推(第二和第三、第四。。。),逐個修改映射list
#coding:utf8
if__name__=='__main__':
words=['school','google','getfileinfo','cherrypy','pypy']
printwords
tmps=words #映射list,存放替換大小寫後的list
index=0 #list遍歷到第幾個了
forwdsinwords: #遍歷words
i=0 #記錄list下的每個word長度
j=0 #記錄每個word有幾個相同的字母數
#下面採取的演算法是:將第一和除其之外的每個字母對比,相同即記下替換後的word,依次下推(第二和第三、第四。。。),逐個修改映射list:tmps
forwd_ainwds[i:]:
forwd_binwds[i+1:]:
ifwd_a==wd_b:
#printwds,wd_a.upper()
j+=1
ifj>1: #相同字母超過一個的,需要沿用之前修改好的word,否則最後記錄的將是最後一個相同字母轉大寫的word
tmp=tmp.replace(wd_a,wd_a.upper(),1)
else:
tmp=wds.replace(wd_a,wd_a.upper(),1)
#printtmp
tmps[index]=tmp #修改映射list:tmps
i+=1
index+=1
printtmps
運行結果:
['school', 'google', 'getfileinfo', 'cherrypy', 'pypy']
['schOol', 'GOogle', 'gEtFIleinfo', 'cheRrYpy', 'PYpy']
演算法二:
#coding:utf8
if__name__=='__main__':
words=['school','google','getfileinfo','cherrypy','pypy']
printwords
tmps=words #映射list,存放替換大小寫後的list
#演算法二
#下面採取的演算法是:先將單詞序列化,然後排序,接著採取兩兩相比較,減少比較次數,同時遇到相同字母的就跳到下一組對比
index=0
forwordinwords:
letters=[]
forwdinword:
letters.append(wd)
letters.sort()
#printletters
j=0
flag=False
foriinrange(len(letters)-1):
ifflag:
flag=False #重置跳過標記
continue #第一和第二位字母相同,那就沒必要再比較第二和第三位字母了,直接跳過比較第三和第四位字母
#printletters[i],letters[i+1]
ifletters[i]==letters[i+1]:
j+=1
ifj>1:
tmp=tmp.replace(letters[i],letters[i].upper(),1)
else:
tmp=word.replace(letters[i],letters[i].upper(),1)
#printtmp
tmps[index]=tmp
flag=True #jumpflag
index+=1
printtmps
測試了下運行時間,words在145個時,運行時間對比:
Time2: 0.0160000324249
Time2: 0.0150001049042
Time2: 0.0149998664856
Time1: 0.0160000324249
Time1: 0.0159997940063
Time1: 0.0150001049042
可見演算法二的最少運行時間比演算法一少,要快