在 Python 中替换字符串末尾的字符

在 Python 中替换字符串末尾的字符

Replace characters at the end of a String in Python

使用该re.sub()方法替换字符串末尾的字符,例如
new_string = re.sub(r'chars$', 'replacement', string). re.sub()方法将返回一个替换了指定字符的新字符串。

主程序
import re string = 'bobbyhadz-com' # ✅ replace characters at end of string (re.sub()) new_string = re.sub(r'-com$', '.abc', string) print(new_string) # 👉️ bobbyhadz.abc # ------------------------------------------------ # ✅ replace characters at end of string (str.rsplit()) new_string = '.abc'.join(string.rsplit('-com', 1)) print(new_string) # 👉️ bobbyhadz.abc

第一个示例使用re.sub()方法替换字符串末尾的字符。

re.sub方法返回一个新字符串,该字符串是通过用提供的替换替换模式的出现而获得的。

主程序
import re string = 'bobbyhadz-com' new_string = re.sub(r'-com$', '.abc', string) print(new_string) # 👉️ bobbyhadz.abc

如果未找到模式,则按原样返回字符串。

我们传递给该re.sub()方法的第一个参数是一个正则表达式。

美元符号$匹配字符串的末尾,因此指定的字符只有在字符串末尾时才会被替换。

如果您需要替换接近字符串末尾的子字符串,但不一定在末尾,请向下滚动到下一个子标题。

我们传递给该re.sub()方法的第二个参数是替换字符串。

如果您不需要保留原始字符串,请重新分配变量。

主程序
import re string = 'bobbyhadz-com' string = re.sub(r'-com$', '.abc', string) print(string) # 👉️ bobbyhadz.abc

如果您在阅读或编写正则表达式时需要帮助,请参阅官方文档中的
正则表达式语法
副标题。

该页面包含所有特殊字符的列表以及许多有用的示例。

或者,您可以使用该str.rsplit()方法。

使用 str.rsplit() 替换字符串末尾的字符

要替换字符串末尾的字符:

  1. 使用该str.rsplit()方法从右侧拆分字符串一次。
  2. 使用str.join()方法以替换字符串作为分隔符加入列表。
主程序
string = 'bobbyhadz-com' new_string = '.abc'.join(string.rsplit('-com', 1)) print(new_string) # 👉️ bobbyhadz.abc

str.rsplit
方法使用提供的分隔符作为分隔符字符串返回字符串中的单词列表

主程序
my_str = 'bobby hadz com' print(my_str.rsplit(' ')) # 👉️ ['bobby', 'hadz', 'com'] print(my_str.rsplit(' ', 1)) # 👉️ ['bobby hadz', 'com']

该方法采用以下 2 个参数:

姓名 描述
分隔器 在每次出现分隔符时将字符串拆分为子字符串
最大分裂 最多maxsplit完成拆分,最右边的(可选)

除了从右边分裂,rsplit()表现得像split().

我们将maxsplit()参数设置1为仅在子字符串的最后一次出现时拆分字符串。

最后一步是使用str.join()方法以替换字符串作为分隔符加入列表。

主程序
string = 'bobbyhadz-com' new_string = '.abc'.join(string.rsplit('-com', 1)) print(new_string) # 👉️ bobbyhadz.abc

str.join方法将一个可迭代对象作为参数并返回一个字符串,该字符串是可迭代对象中字符串的串联。

调用该方法的字符串用作元素之间的分隔符。

或者,您可以使用该str.rpartition()方法。

使用 str.rpartition() 替换字符串末尾的字符

要替换字符串末尾的字符:

  1. 使用该str.rpartition()方法在给定子字符串的最后一次出现处拆分字符串。
  2. Use the addition operator to add the replacement between the head and tail of
    the string.
main.py
string = '---bobby---hadz' head, _separator, tail = string.rpartition('---') print(head) # 👉️ ---bobby print(_separator) # 👉️ --- print(tail) # 👉️ hadz replacement = '===' new_string = head + replacement + tail print(new_string) # 👉️ ---bobby===hadz

The
str.rpartition
method splits the string at the last occurrence of the provided separator.

main.py
string = '---bobby---hadz' # 👇️ ('---bobby', '---', 'hadz') print(string.rpartition('---'))

The method returns a tuple containing 3 elements – the part before the
separator, the separator, and the part after the separator.

If the separator is not found in the string, the method returns a tuple containing two empty strings, followed by the string itself.

We used the addition (+) operator to add the replacement string between the head
and the tail.

When used with strings, the addition (+) operator concatenates them.

main.py
print('before' + '===' + 'after') # 👉️ before===after