python查找替换字符串
⑴ python中如何替换字符串
replace()实现字符串替换
使用案例
⑵ python文件替换指定字符串并输出位置
读文件的模式有很多种不一一列举,r+表示打开一个文件用于读写。文件指针将会放在文件的开头。
def readFile(path):
#R
with open(path,"r+") as f:
for line in f:
print(line)
f.close()
print("读文件完成")
path="D:\\tmp\\manim\\file\\1.txt"
readFile(path)
查找字符串位置,str.find(target) 返回起始点位置如果是-1则表示不存在
"123WWW".find("WWW")
文件指针偏移到指定位置
#文件路径,原字符串,要替换成的目标字符串
def replaceText(filePath,sourceText,targetText):
if(len(sourceText)!=len(targetText)):
raise Exception("原始字符串长度与目标字符串不符,容易覆盖有用信息", sourceText,targetText)
with open(filePath,'r+') as f:
line=f.readline()
index=0
# 遇到中间空行的可以自行观察并不是空字符串
while ( line!=""):
print(line)
# 本行内字符串所在位置
windex=line.find(sourceText)
if(windex!=-1):
print("windex={}".format(windex))
print("当前位置:{},替换内容起点:{}".format(f.tell(),index+windex))
f.seek(index+windex)
f.write(targetText)
# f.flush()
f.seek(index)
# 返回当前文件指针,应该是新一行的开始位置
index=f.tell()
line=f.readline()
f.close()
print("文件修改完毕")
⑶ python 中怎么替换字符串
楼主搞生物的?很像碱基对啊。replace是替换整串字符串的,但是这里不方便,因为你把aa替换成tt后,就变成tttt,然后再替换,变为aaaa,没有达到效果,除非你用另外的字符代替,不过,这样就没有python的简洁优美了,所以这个问题用re最方便,下面是代码:
# coding=utf-8
import re
astr = 'aattccgg'
charmap = {'aa':'tt','tt':'aa','cc':'gg','gg':'cc'}
new = re.sub(r'aa|tt|cc|gg', lambda x: charmap[x.group(0)], astr)
print(new)#python2为print new
⑷ python 查找字符串并将其替换
f1=open('J:/wenjian/1/1.txt','r')
for line in f1
你这里是不是少了点什么,f1只是文件句柄,需要执行读操作才能遍历,
调用readlines()
确实有更好的代码,那就是使用re.sub,它同时包含了查找和替换两步的操作,
而不是像你写的那样的字符串比较性能那么低
⑸ python字符串操作
字符串操作在各个计算机语言中都是比较常见的操作,下面我们对python的字符串操作做下简单介绍。
一、索引操作
字符串是由一些连续的字符组成,支持索引操作,索引位置从0开始,比如以下代码会输出’P‘字符:
二、截取子串
字符串也可以像列表那样给定起始与终止索引生成一个新的子串,比如以下代码会输出“Py”:
三、连接操作
多个字符串相加会生成一个新串,比如以下代码输出”Love Python“:
四、大小写转换
调用字符串的upper与lower方法会分别生成新的大写和小写的字符串,比如以下代码第一个输出:”I LOVE PYTHON“,第二个输出:”i love python“:
五、前后缀判断
调用字符串的startswith与endswith方法可以判断字符串是否以某个子串开关或者结尾,比如以下会分别打印出 ” python startswith py “ 和 ” python endswith on “:
六、查找与替换子串
调用find方法可以判断是否包含某个子串,比如以下代码会输出" python contains th" 和 " python doesn't contain he":
调用replace方法可以对字符串进行替换,比如要把"hello world"中的”hello“替换为”world“,以下代码会输出:”world world“
七、分隔字符串
如果我们要把一句话按空格分隔为一个一个的单词要怎么做呢,这时调用split方法即可,比如以下代码会把”hello world ni hao“转换为["hello","world","ni","hao"]:
八、清除前后字符
如果一个字符串前后有空白字符,我们需要去掉,你可以调用字符串的替换方法来做,但更简单的做法是调用strip方法,比如以下代码就会去掉两端的空白字符输出“hello python”:
九、大小写对换
如果我们需要把字符串中的小写转换为大写,大写转换为小写,那要怎么做呢,很简单,调用下swapcase就可以了,如以下代码会输出“ heLLO pYThON ”:
十、字符分类判断
有很多方法用来判断一个字符串是否属于某个分类,比如 isdigit判断是否是数字,isalpha判断是否是字母,isalnum判断是否是字母数字等,如下代码:
⑹ python 中怎么替换字符串
Python替换某个文本中的字符串,然后生成新的文本文档,代码如下:import osos.chdir('D:\\') # 跳到D盘if not os.path.exists('test1.txt'): # 看一下这个文件是否存在exit(-1) #不存在就退出lines = open('test1.txt').readlines() #打开文件,读入每一行fp = open(''test2.txt','w') #打开你要写得文件test2.txtfor s in lines:# replace是替换,write是写入fp.write( s.replace('love','hate').replace('yes','no')) fp.close() # 关闭文件
⑺ python怎么替换很多特定字符串为其他的字符串
用链式替换,示例如下:
str1='abcdef'
str2=str1.replace('a','1').replace('b','2')
print(str2)
#12cdef
2.用正则替换,示例如下:
importre
str3='abcdef'
str4=re.compile('(a|b)').sub('1',str1)
print(str4)
#11cdef
1 & 2结合应该能解决问题