Python replace()函数使用详解,Python替换字符串

这篇具有很好参考价值的文章主要介绍了Python replace()函数使用详解,Python替换字符串。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

「作者主页」:士别三日wyx
「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者
「推荐专栏」:小白零基础《Python入门到精通》

replace() 可以「替换」字符串中的内容

语法

string.replace( old, new, count )

参数

  • old :(必选,字符串类型)被替换的字符串
  • new :(必选,字符串类型)替换后的字符串
  • count :(可选,整型)替换的次数

返回值

  • 返回替换后的新字符串

实例:将字符串中的 “hello” 替换成 “world”

str1 = 'hello hello hello hello world'
str2 = str1.replace('hello', 'world')
print(str2)

输出:

world world world world world

1、不改变原字符串

因为Python中的字符串是「不可变」的,所以 replace() 不会改变原字符串的内容,而是返回一个新的字符串。

我们分别打印替换前、后的两个字符串「内容」「内存地址」

str1 = 'hello hello hello hello world'
print(id(str1))
str2 = str1.replace('hello', 'world')
print(str1, id(str1))
print(str2, id(str2))

输出:

2834751121168
hello hello hello hello world 2834751121168
world world world world world 2834751121568

可以看到,原字符串的内容和内存地址没有发生变化。


2、指定替换次数

「不指定」次数,默认替换「所有」匹配到的字符串

str1 = 'hello_1 hello_2 hello_3 hello_4'
print(str1.replace('hello', 'world'))

输出:

world_1 world_2 world_3 world_4

替换次数为「正数」时,按照从左到右的顺序替换,设置几次就替换几次

str1 = 'hello_1 hello_2 hello_3 hello_4'
print(str1.replace('hello', 'world', 1))
print(str1.replace('hello', 'world', 3))

输出:

world_1 hello_2 hello_3 hello_4
world_1 world_2 world_3 hello_4

替换次数为「负数」时,无论负几,都会替换所有匹配到的内容

str1 = 'hello_1 hello_2 hello_3 hello_4'
print(str1.replace('hello', 'world', -1))
print(str1.replace('hello', 'world', -3))

输出:

world_1 world_2 world_3 world_4
world_1 world_2 world_3 world_4

指定的次数必须是「整型」,否则会报错 TypeError: ‘str’ object cannot be interpreted as an integer

Python replace()函数使用详解,Python替换字符串,Python,python,网络安全,机器学习,人工智能

或者 TypeError: integer argument expected,

Python replace()函数使用详解,Python替换字符串,Python,python,网络安全,机器学习,人工智能


3、转义符

字符串中的转义符不会打印出来,但 replace() 可以替换这些转义符,比如替换换行符\n

str1 = 'hello world\n'
print(str1)
print(str1.replace('\n', ' new'))

输出:

hello world

hello world new

从结果可以看到,替换前会换行,替换后不会换行,因为转义符被替换掉了。


4、替换列表、元组、字典的元素

「列表」中的元素使用 replace() ,可以使用下面这种方式

arr = ['hello', 'hello', 'hello']
print([string.replace('hello', 'world') for string in arr])

输出:

['world', 'world', 'world']

这种方式本质上是生成了一个「新数组」,我们可以看一下内存地址

arr = ['hello', 'hello', 'hello']
print(id(arr))
print(id([string.replace('hello', 'world') for string in arr]))

输出:

1658941612416
1658941612544

或者使用「循环」的方式替换列表中的元素,这种方式不会生成新数组,替换前、后的内存地址是一样的。

arr1 = ['hello', 'hello', 'hello']
print(arr1, id(arr1))
for a in range(len(arr1)):
    arr1[a] = arr1[a].replace('hello', 'world')

print(arr1, id(arr1))

输出:

['hello', 'hello', 'hello'] 1672076599552
['world', 'world', 'world'] 1672076599552

替换「元祖」中的元素,需要先转成列表,再循环替换,替换完成再转回元组,这种方式同样会改变内存地址。

tu = ('hello', 'hello', 'hello')
print(id(tu))
arr1 = list(tu)
for a in range(len(arr1)):
    arr1[a] = arr1[a].replace('hello', 'world')

tu = tuple(arr1)
print(tu, id(tu))

输出:

2255689005696
('world', 'world', 'world') 2255689005824

替换「字典」的值,直接循环替换

dic = {'key1': 'zhangsan', 'key2': 'lisi'}

for a in dic:
    dic[a] = dic[a].replace('zhangsan', 'new')

print(dic)

输出:

{'key1': 'new', 'key2': 'lisi'}

5、连续替换

因为 replace() 返回的是一个字符串,所以我们可以对返回的结果再次replace(),比如下面这样:

str1 = 'zhangsan lisi wangwu'
print(str1.replace('zhangsan', 'new').replace('lisi', 'new'))

输出:

new new wangwu

有多个内容需要替换时,可以使用这种简化的方式。文章来源地址https://www.toymoban.com/news/detail-567158.html

到了这里,关于Python replace()函数使用详解,Python替换字符串的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • C#用string.Replace方法批量替换某一类字符串

    C#用string.Replace方法批量替换某一类字符串

    目录 一、关于字符串及其操作常识 二、String.Replace 方法 1.重载  2.Replace(Char, Char) 3.Replace(String, String)  (1)实例: (2)生成结果: 4.Replace(String, String, StringComparison) 5.Replace(String, String, Boolean, CultureInfo) (1)实例         在字符串操作中,可以使用字符串对象的 Split方法

    2024年02月02日
    浏览(28)
  • Python split()函数使用详解,Python分割字符串

    Python split()函数使用详解,Python分割字符串

    「作者主页」: 士别三日wyx 「作者简介」: CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」: 小白零基础《Python入门到精通》 split() 可以按照指定 「分隔符」 对字符串进行 「分割」 。 语法 参数 str :(可选)指定分隔符,默认为空字

    2024年02月12日
    浏览(10)
  • Python 按规则解析并替换字符串中的变量及函数

    1、按照一定规则解析字符串中的函数、变量表达式,并替换这些表达式。这些函数表达式可能包含其它函数表达式,即支持函数嵌套 2、函数表达式格式: ${ __函数名称() }、${__函数名称( 函数参数 )} 3、变量表达式格式: ${ varName } 注意: 函数名称以 __ 打头 ${ 之间不能有空

    2024年02月05日
    浏览(13)
  • Python高频面试题——如何在字符串中删除指定字符,掌握strip()、replace()和re.sub ()正确使用方法!

    Python高频面试题——如何在字符串中删除指定字符,掌握strip()、replace()和re.sub ()正确使用方法!

    关于python删除字符串是面试python测试开发工程师的一个经典问题。问题很简单,但是一下子就能测试出来被面试者是否能够熟练的进行python相关编码工作! 对于有些临时抱佛脚的同学来讲,一看删除,很自然就说用remove 、del相关方法,听到这里,就知道面试者根本不知道这

    2024年02月08日
    浏览(13)
  • Python center()函数详解,Python字符串居中

    Python center()函数详解,Python字符串居中

    「作者主页」: 士别三日wyx 「作者简介」: CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」: 小白零基础《Python入门到精通》 center() 可以使字符串 「居中」 ,并在两边 「填充」 指定数量的新字符。 语法 参数 width :(必选,整型)字

    2024年02月13日
    浏览(13)
  • Python 中的字符串分割函数 split() 详解

    Python 中的字符串分割函数 split() 详解

    更多Python学习内容:ipengtao.com 在 Python 编程中,处理字符串是一项常见的任务。字符串分割是其中的一个常见操作,而 Python 提供了强大的 split() 函数,用于将字符串拆分成多个部分。本文将详细介绍 split() 函数的用法、参数和示例代码,以帮助大家充分利用这个功能。 spl

    2024年04月27日
    浏览(8)
  • 小程序原生使用wxs踩坑:使用正则replace字符串报错Unexpected token `/`

    小程序原生使用wxs踩坑:使用正则replace字符串报错Unexpected token `/`

    WXS(WeiXin Script)是小程序的一套脚本语言,结合 WXML,可以构建出页面的结构。也就是说,使用wxs模块可以在wxml中使用js方法,类似于vue中的过滤器。 详细介绍见 wxs语法参考 在我新建的filter.wxs文件中写入方法后 然后就报错: 然后我用 RegExp 对象转了一下 编译又报以下错误

    2024年02月15日
    浏览(13)
  • ​【C语言】长篇详解,字符系列篇3-----strstr,strtok,strerror字符串函数的使用【图文详解​】

    ​【C语言】长篇详解,字符系列篇3-----strstr,strtok,strerror字符串函数的使用【图文详解​】

    欢迎来CILMY23的博客喔,本期系列为​【C语言】长篇详解,字符系列篇3-----strstr,strtok,strerror字符串函数的使用【图文详解​】,图文讲解各种字符串函数,带大家更深刻理解C语言中各种字符串函数的应用,感谢观看,支持的可以给个赞哇。  前言 上一篇说到,有不受长度限

    2024年02月22日
    浏览(15)
  • Java中String字符串替换3种方法详解

    replace() 方法用于将目标字符串中的指定字符(串)替换成新的字符(串) 字符串.replace(String oldChar, String newChar) replaceFirst() 方法用于将目标字符串中匹配某正则表达式的第一个子字符串替换成新的字符串 字符串.replaceFirst(String regex, String replacement) replaceAll() 方法用于将目标字

    2024年02月11日
    浏览(17)
  • Python字符串替换的3种方法

    Python字符串替换笔记主要展示了如何在Python中替换字符串。Python中有以下几种替换字符串的方法,本文主要介绍前三种。 replace方法(常用) translate方法 re.sub方法 字符串切片(根据Python字符串切片方法替换字符) Python replace方法把字符串中的old(旧字符串) 替换成new(新字符

    2024年02月05日
    浏览(15)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包