博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python str replace()方法
阅读量:4189 次
发布时间:2019-05-26

本文共 2557 字,大约阅读时间需要 8 分钟。

目录


 

描述

Python 字符串 replace()方法是字符串替换方法,它可将字符串中的部分子串替换成新的部分,并返回新字符串。

 

语法和参数

str.replace(old_str, new_str, count)
名称 含义 备注
old_str 要被替换掉的子串 string,不可省略的参数
new_str 使用new_str替换掉old_str string,不可省略的参数
count 最大替换次数 int,可省略的参数

返回值

string,返回替换后的新字符串。若old_str在字符串中不存在,则返回原字符串。

 

使用示例

1. 省略count时

当count参数省略时,在字符串中匹配到的全部old_str将会被替换成new_str:

if __name__ == '__main__':    demo = "Python: python language is fun. I love python."    print("before replace():\t", demo, id(demo))    r = demo.replace("python", "Java")    print("after replace():\t", r, id(r))

运行结果:

before replace():	 Python: python language is fun. I love python. 4509860464after replace():	 Python: Java language is fun. I love Java. 4509860560

2. count值存在

如果没有省略最后的参数count,replace()方法仅将old_str替换为new_str的次数与count值相等。即replace()替换字符串的次数取决于count值的大小。

下面的例子中,我们只替换一次:

>>> demo = "西安是陕西省的著名城市,西安也是中国古代的著名都城。">>> result = demo.replace("西安", "咸阳", 1)>>> result'咸阳是陕西省的著名城市,西安也是中国古代的著名都城。'>>> id(demo)4366833712>>> id(result)4366833840

 

注意事项

1. old_str与new_str相等时

当要新替换的字符串与旧字符串相等时,replace()方法不会报错。此时如果new_str将old_str全部替换完,replace()方法返回原字符串。

>>> demo = "banana, apple, orange">>> result = demo.replace("apple", "apple")>>> result'banana, apple, orange'>>> id(demo)4367589288>>> id(result)4367589288

2. count值大于old_str出现的次数

当count值大于old_str出现的次数时,replace()方法不会报错,此时count参数出现没有任何意义:

>>> demo = "go.micro.compute">>> result = demo.replace("go", "python", 100)>>> result'python.micro.compute'

3. old_str在字符串中不存在

当old_str在原字符串中不存在时,使用replace()方法不会报错,并返回原字符串:

if __name__ == '__main__':    place = "caf\u00e9"    result = place.replace("e", "~")    print("place", place)    print("result", result)    print("place id", id(place))    print("result id", id(result))

运行结果:

place caféresult caféplace id 4553216048result id 4553216048

4. count值为0

count值为0,replace()不会做任何操作,返回原字符串。

if __name__ == '__main__':    action = "I like having coffee at starbucks"    result = action.replace("coffee", "water", 0)    print("action", action)    print("result", result)    print("action id:", id(action))    print("result id:", id(result))

运行结果:

action I like having coffee at starbucksresult I like having coffee at starbucksaction id: 4513124264result id: 4513124264

5. count值为负

当count值为负,replace()方法将全部old_str替换为new_str。这种场景下count参数作用失效:

if __name__ == '__main__':    action = "a a a b c"    result = action.replace("a", "d", -1)    print("action", action)    print("result", result)    print("action id:", id(action))    print("result id:", id(result))

运行结果:

action a a a b cresult d d d b caction id: 4318863024result id: 4319003120

 

转载地址:http://jbsoi.baihongyu.com/

你可能感兴趣的文章
OpenGL和D3D中Cubemap的图象方向问题
查看>>
XREAL3D开发转移到csdn的svn服务器上。
查看>>
Mozilla XULRunner 的编译。
查看>>
GUISystem设计思路之三:HotArea的概念。
查看>>
GUI设计思路之二:Blender -- WinstateBlender/WinTransBlender
查看>>
新瓶灌旧酒,Hugo老师的Fire算法的GPU版本.
查看>>
前世,是谁埋的我。
查看>>
J2ME技术实现的RPG游戏的DEMO(含源代码)
查看>>
J2ME开发中常见属性(Property)及其作用列表
查看>>
【文章汇总】J2ME程序开发全方位基础讲解
查看>>
MIDP2.1规范文档
查看>>
两个基础的算法题目
查看>>
编程是什么——写给编程的初学者
查看>>
Flash Lite作为S40和S60系列上的特性出现在技术规范中
查看>>
MIDP3.0(JSR271)早期规范文件发布
查看>>
数据服务笔记
查看>>
ESB架构笔记
查看>>
真正的maven私服搭建器--Artifactory
查看>>
用铁轨理论解读SOA
查看>>
从天下无贼看SOA全球化
查看>>