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
可见算法二的最少运行时间比算法一少,要快