Python中只替换一次子串的代码实现
问题:如何实现下列的子串替换功能?
输入:s='你好你好我好我好'
输出:s='我好我好你好你好'
如果用常规的replace函数,则会出现如下不符合预期的结果

可以考虑如下方法:
方法一:采用python内置的临时变量方法
方法二:采用Python maketrans() 方法用于创建字符映射的转换表,自Python3.4开始,已经没有string.maketrans(),而改为了str.maketrans()

# -*- coding: utf-8 -*-
s='你好你好我好我好'
# s1=s.replace('我','你').replace('你','我')
# 方法一
s1=s.replace('你','%temp%').replace('我','你').replace('%temp%','我')
#方法二
s1=s.translate(str.maketrans('你我','我你'))
print(s1)
通过上述方法即可实现只对字符串中的子串进行一次替换的实现。
浙公网安备 33010602011771号