[英]Replacing single character in string
我必须创建一个代码来替换字符串中的一个字符/字母。
我得到的例子是这样的:
string_substituting_char('abcdeeaa', 'c')
应该返回:
'ab$deeaa'
而且我知道要使用哪个代码,所以我使用了此代码,但是我只知道该代码替换字符串中的所有字母:
def string_substituting_char (st, ch):
for ch in st:
st = st.replace(ch, '$')
return st
我拥有和使用的代码(它将替换所有字符)
我想知道应该在代码中添加什么,以便它仅更改字符串中的一个特定字符。
只需将调用结果返回到str.replace
:
def string_substituting_char(st, ch):
return st.replace(ch, '$')
演示:
>>> def string_substituting_char(st, ch):
... return st.replace(ch, '$')
...
>>> string_substituting_char('abcdeeaa', 'c')
'ab$deeaa'
>>>
或者,如果您只想替换字符的第一次出现,则可以将1
传递给count
参数:
def string_substituting_char(st, ch):
return st.replace(ch, '$', 1)
演示:
>>> def string_substituting_char(st, ch):
... return st.replace(ch, '$', 1)
...
>>> string_substituting_char('abcabc', 'c')
'ab$abc'
>>>
如果要替换给定字符的每个实例,请使用以下命令:
>>> def string_substituting_char (st, ch):
... return st.replace(ch, '$')
...
>>> string_substituting_char('abccdefccsfdds', 'c')
'ab$$def$$sfdds'
使用正则表达式
import re
def string_sub (str, ch):
return "$".join(re.findall("[^" + ch + "]+", str))
演示:
>>> string_sub("ello this is aea sa s as", "e")
'$llo this is a$a sa s as'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.