105. replace( )函数

105. replace( )函数目录 replace 函数

大家好,欢迎来到IT知识分享网。

105. replace( )函数

【目录】

【正文】

1.replace( )函数功能

replace[rɪˈpleɪs]:替换、更换。

replace的中文意思是替换,更换。

replace是Python字符串对象的一个方法,作用是将字符串中指定的子串替换为新的子串

【功能】将指定的字符串替换为新的字符串。

2.replace( )函数的应用

字符串替换操作在编程中非常常见,通常有以下几种情况:

    1. 修改字符串内容

当需要修改字符串中的某些内容,比如将一个单词替换为另一个单词,或者将一个字符替换为另一个字符。

    1. 数据清洗

在数据处理和文本处理中,经常需要对字符串进行清洗和规范化。例如,去除特殊字符、修正拼写错误、替换敏感词等操作都可以通过字符串替换来实现。

    1. 格式转换

有时候我们需要将字符串从一种格式转换为另一种格式。例如,将日期格式从”YYYY-MM-DD”转换为”MM/DD/YYYY”,或者将数字格式从”1,000,000″转换为””等。字符串替换操作可以帮助我们实现这种格式转换。

    1. 动态生成字符串

在一些场景下,需要根据一些规则或者条件动态生成字符串。通过替换操作,我们可以将模板字符串中的占位符替换为具体的值,从而生成最终的字符串。

总之,字符串替换操作是一种非常常用的字符串处理方式,它可以帮助我们实现字符串内容的修改、数据清洗、格式转换和动态生成等功能。

3.replace( )函数的语法

【语法】

str.replace(old, new, count) 

count[kaʊnt]:计数、点数。

replace( )函数由6部分组成:

  • 1.str:要进行替换操作的字符串;
  • 2.函数名:replace
  • 3.英文小括号:( )
  • 4.old:需要被替换的字符串;
  • 5.new:替换后的新字符串;
  • 6.count(可选):指定替换次数,默认为全部替换。

4. 代码示例

4.1 替换单个字符

【代码示例1】

# 要操作的字符串对象 s = "Hello" # 语法:str.replace(old, new, count) # 这里没有加入count参数,默认为全部替换 # old = H,要替换的字符 # new = h,替换后的字符 # 作用:将字符串种的H字母替换为h new_s = s.replace("H", "h") print(new_s) 

【终端输出】

hello 

4.2 替换多个字符

目标任务:将‘Hello, World!’中的字母o和字母l全部替换为*

注意str.replace(old, new, count)中的old数据类型只能是字符串。

【代码示例2】

# s是要操作的字符串对象 s = "Hello, World!" # old要替换的子字符,这里要替换的是2个字符 # old数据类型为列表 # 列表里的元素为字符串 old = ['o', 'l'] # 替换后的新字符串 new = '*' # 用for循环取值,依次替换字符 for i in old: # 语法:str.replace(old, new, count) # 第一次取值i='o',数据类型为字符串 # new = * # 第1次替换将所有的字母o替换为字符*,替换后s=Hell*, W*rld! # 第2次要操作的对象为新的s,即s=Hell*, W*rld! # 第2次替换将所有的字母l替换为字符*,最终输出结果为He*, W*r*d! s = s.replace(i, new) print(s) 

【终端输出】

He*, W*r*d! 

目标任务:用自定义函数实现替换多个字符。

【代码示例3】

# def语句自定义一个函数 def get_char(s, old, new): for i in old : # 语法:str.replace(old, new, count) # 这里的i就是要替换的字符,数据类型为字符串 # i = o时,将字符串中的所有o字母替换为* # i = l是,将字符串中的所有l字母替换为* s = s.replace(i, new) return s # 要操作的字符串对象 s = "Hello, World!" # 要替换的字符 old= ['o', 'l'] # 替换后的新字符 new= '*' # 调用函数语法:函数名(参数) # get_char是函数名 # s old new是要传入的3个参数 # 依次传递给get_char函数中的s old new  new_string = get_char(s, old, new) print(new_string) # 输出:Hell W*rld! 

【终端输出】

He*, W*r*d! 

【代码解析】

def get_char(s, old, new): 

def语句自定义一个名为get_char的函数,它接收3个参数s、old和new。

for i in old : # 语法:str.replace(old, new, count) s = s.replace(i, new) 
return s 

循环结束后,返回最终替换完成的字符串s。

4.3 指定替换次数

【代码示例4】

# 原始字符串 string = "Hello, Hello, Hello, Hello!" # 使用replace函数替换指定次数 # 语法:str.replace(old, new, count) # old="Hello",要替换的字符串 # new="Hi",替换后的字符 # count=2表示只替换2次 # 第1次替换将第1个Hello替换为Hi # 第2次替换将第2个Hello替换为Hi # 替换2次,因此后2个Hello未做改变 new_string = string.replace("Hello", "Hi", 2) # 输出结果 print(new_string) 

【终端输出】

Hi, Hi, Hello, Hello! 

5. 课后练习

【知识回顾】

54.python的def语句自定义函数

5.1 练习1

编写一个程序,要求用户输入一个字符串,然后将字符串中的所有空格替换为下划线,并输出替换后的结果。

# def语句自定义一个函数 def get_char(): # 用input函数从终端输入一个要操作的字符串对象,并赋值给变量s # 我输入的字符串为:hello word! s = input("请输入一个包含空格的字符串:") # 使用replace函数进行替换 # 语法:str.replace(old, new, count) # old = " " # new = "_" # 作用是将字符串中的空格替换为小横线 new_s = s.replace(" ", "_") print("替换后的结果为:", new_s) # 调用函数语法:函数名(参数) get_char() 

【终端输出】

替换后的结果为: hello_word! 

5.2 练习2

编写一个程序,要求用户输入一个字符串和两个字符串,然后将字符串中的第一个字符串替换为第二个字符串,并输出替换后的结果。

【代码示例】

# def语句自定义一个函数 # 函数名replace_substring:替换子字符串 # 参数名:string, old_substring, new_substring def replace_substring(string, old_substring, new_substring): # 使用replace函数进行替换 # 语法:str.replace(old, new, count) # string要操作的字符串对象 # old = old_substring,要被替换的`子`字符串 # new = new_substring,替换后的新字符串 replaced_string = string.replace(old_substring, new_substring) # 返回替换后的字符串 return replaced_string # 获取用户输入 # 我终端输入的是2023年1月1日 string = input("请输入一个字符串:") # 我终端输入的是2023 old_substring = input("请输入要替换的子字符串:") # 我终端输入的是2024 new_substring = input("请输入替换后的子字符串:") # 调用函数语法:函数名(参数) result = replace_substring(string, old_substring, new_substring) # 输出结果 print("替换后的结果为:", result) 

【终端输出】

替换后的结果为: 2024年1月1日 

6. 课后练习

提供一个名为105.txt的文本,文本的内容如下:

Who's there? FRANCISCO Nay, answer me: stand, and unfold yourself. BERNARDO Long live the king! FRANCISCO Bernardo? BERNARDO He. 

任务是用代码读取该文件,并将该文件中的所有标点符号替换为空格。

# file_path变量名,存储的是hamlet.txt文件的相对路径 file_path = "105.txt" # 使用open函数打开文件 # 参数file_path传入的是文件路径 # 参数r是以只读模式打开文件 # 使用with语句可以确保文件在使用完后会被正确关闭 # 语法:open(file, mode='r', encoding='None', errors='None') with open(file_path, "r") as f: # 使用read方法读取文件的内容 text = f.read() # in后面存储的文本中可能出现的字符 # 变量ch提取要替换的字符  for ch in "`!@#$%^&*():;''|/?><,.": # 语法:str.replace(old, new, count) # ch第一次提取到的符号为`,将文本中的所有`替换为空格 # 没有该字符则继续往下提取 # old = ch # new = " " text = text.replace(ch," ") # 打印转换后的文本 print(text) 

【终端输出】

Who s there FRANCISCO Nay answer me stand and unfold yourself BERNARDO Long live the king FRANCISCO Bernardo BERNARDO He 

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/149502.html

(0)
上一篇 2025-03-23 19:05
下一篇 2025-03-23 19:10

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信