在 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() 替换字符串末尾的字符
要替换字符串末尾的字符:
- 使用该
str.rsplit()
方法从右侧拆分字符串一次。 - 使用
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() 替换字符串末尾的字符
要替换字符串末尾的字符:
- 使用该
str.rpartition()
方法在给定子字符串的最后一次出现处拆分字符串。 - Use the addition operator to add the replacement between the head and tail of
the string.
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.
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.
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.
print('before' + '===' + 'after') # 👉️ before===after