经验:Python中字符串的全词匹配替换

经验:Python中字符串的全词匹配替换

更新历史
201901020:

  1. 首次发布




方法1

对字符串中的"abc"进行全词匹配替换:

import re

my_str = "abc .abc .abc1-abc"
old="abc"
new = "xxx"

result = re.sub("\\b" + old + "\\b", new, my_str)

运行后:

result = 'xxx .xxx .abc1-xxx'




方法2

对字符串中的"abc"进行全词匹配替换:

import re

my_str = "abc .abc .abc1-abc"
old="abc"
new = "xxx"

result = re.sub(r"\b%s\b" % (old), new, my_str)

运行后:

result = 'xxx .xxx .abc1-xxx'




更进一步…

对字符串中的".abc"进行全词匹配替换:

import re

my_str = "abc .abc .abc1-abc"
new = "xxx"

result = re.sub("\." + "\\b" + "abc" + "\\b", new, my_str)

运行后:

result = 'abc xxx .abc1-abc'





参考:
菜鸟教程:Python 正则表达式
ITPUB博客:python 字符串整词替换

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python字符串的全局替换可以使用replace()方法。该方法会将字符串的所有匹配替换为指定的新值。 举个例子,假设有一个字符串a = 'aabbabbbaabbaaa',我们可以使用replace()方法将其所有的'a'替换为'c',代码如下: ```python a = 'aabbabbbaabbaaa' a = a.replace('a', 'c') print('a:', a) ``` 输出结果为:'ccbbcbbbccbbccc'。这是因为replace()方法默认会将字符串所有的匹配项都替换为新值。 如果你需要自定义一个函数来实现字符串的全局替换,可以参考下面的代码: ```python def replace_all(file_name, be_replaced, new): with open(file_name, 'r') as f: text = f.read() replaced_text = text.replace(be_replaced, new) with open('new_file_name.txt', 'w') as f: f.write(replaced_text) ``` 其,file_name参数是传入的文件名,be_replaced参数是要替换字符串,new参数是替换后的新字符串。该函数会将原文件所有被替换字符串全部变为替换后的新字符串,并保存到一个新的文件。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [replace:Python 字符串的replace方法默认是全局替换,而在js是默认只替换一个](https://blog.csdn.net/shunzi2016/article/details/115283046)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [利用Python实现“全部替换”功能](https://blog.csdn.net/qq_50637636/article/details/128935897)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值