0
我想用大写字母I替换字符串中的任何字符。我有以下代码:替换字符串不会改变值
str.replace('i ','I ')
但是,它不会替换字符串中的任何内容。我希望在我之后加上一个空格,以区分任何我的言辞和言辞。
谢谢,如果你能提供帮助!
确切的代码是:
new = old.replace('i ','I ')
new = old.replace('-i-','-I-')
我想用大写字母I替换字符串中的任何字符。我有以下代码:替换字符串不会改变值
str.replace('i ','I ')
但是,它不会替换字符串中的任何内容。我希望在我之后加上一个空格,以区分任何我的言辞和言辞。
谢谢,如果你能提供帮助!
确切的代码是:
new = old.replace('i ','I ')
new = old.replace('-i-','-I-')
new = old.replace('i ','I ')
new = old.replace('-i-','-I-')
你丢掉第一new
当你将在它的第二次操作的结果。
要么
或
new = old.replace('i ','I ').replace('-i-','-I-')
或使用正则表达式。
我认为你需要这样的事情。
>>> import re
>>> s = "i am what i am, indeed."
>>> re.sub(r'\bi\b', 'I', s)
'I am what I am, indeed.'
这将只替换裸'i'
的与I
,但'i'
的是其他词的一部分保持不变。
对于来自comments你的榜样,你可能需要像这样:
>>> s = 'i am sam\nsam I am\nThat Sam-i-am! indeed'
>>> re.sub(r'\b(-?)i(-?)\b', r'\1I\2', s)
'I am sam\nsam I am\nThat Sam-I-am! indeed'
'replace'不会改变字符串到位。您必须将替换的字符串分配给变量。 – roippi
对不起。我的确切代码是: – user3449872
为什么破折号? – wnnmaw