替换字符串末尾的字符

时间:2016-05-07 22:02:39

标签: python regex

我想使用正则表达式来替换文件中所有单词的开头/结尾处的内容。以下是一些示例案例:

  1. 以“ing”结尾的单词更改为以“gni”结尾:clear ing = clear gni
  2. 以“sub”开头的单词更改为以“bus”开头: sub tract = bus tract
  3. 如何在列表中隔离这些单词并应用示例更改? 所有单词都是小写的。

2 个答案:

答案 0 :(得分:2)

使用\b确保某些内容位于单词的开头或结尾:

import re

sentence = "..."
converted = re.sub(r'ing\b', 'gni', re.sub(r'\bsub', 'bus', sentence))

答案 1 :(得分:1)

import re

strings = ['clearing',
           'subtract']

for i, string in enumerate(strings):
    if re.match(pattern='.*ing$', string=string):
        strings[i] = re.sub(pattern='ing$', repl='gni', string=string)
    if re.match(pattern='^sub.*', string=string):
        strings[i] = re.sub(pattern='^sub', repl='bus', string=string)
print(strings)