Python 用条件替换(而不是删除)字符
如何使用Python 用条件替换(而不是删除)字符,python,regex,Python,Regex,如何使用replace函数替换除一个实例之外的所有实例 mystr = "he said: 'hi my name's Jim'." mystr.replace("'", '"') print(mystr) 我想要的输出是: 他说:“嗨,我叫吉姆。” 如何从替换中排除的?ie排除所有,后接s,且,前接数字/字母 如果mystr2=“'s:hi',那么我不想替换第一个”,只替换第二个“ 更新 这显示了如何删除所需的引号,而不是如何替换它。更好的方
replace
函数替换除一个实例之外的所有实例
mystr = "he said: 'hi my name's Jim'."
mystr.replace("'", '"')
print(mystr)
我想要的输出是:
他说:“嗨,我叫吉姆。”
如何从替换中排除的
?ie排除所有,
后接s
,且,
前接数字/字母
如果mystr2=“'s:hi'
,那么我不想替换第一个”
,只替换第二个“
更新
这显示了如何删除所需的引号,而不是如何替换它。更好的方法是使用此正则表达式:
\B'\b|\b'\B
并替换为“
:单词边界\b
:与\B
或单词边界相反\B
>>重新导入
>>>他说:“嗨,我叫吉姆。”
>>>打印(re.sub(r“\B”\B |\B”\B“,”,mystr))
他说:“嗨,我叫吉姆。”。
另一个正则表达式:'(?!s)
替换每个未后跟s的'
import re
mystr = "he said: 'hi my name's Jim'."
newstr = re.sub(r"'(?!s)", '"', mystr)
print(newstr)
输出:
他说:“嗨,我叫吉姆。”
在这方面,删除和替换是一样的。只需用所需的替换件替换替换件中的”
。从中选择。或者。