据我所知,str = str.replace('x','')将消除所有x。
但是,假设我有一个字符串jxjrxxtzxz
,我只想删除第一个和最后一个x,使字符串jjrxxtzz
。这不是字符串特定的。我希望能够处理所有字符串,而不仅仅是那个具体的例子。
编辑:假设x是我要删除的唯一字母。谢谢!
答案 0 :(得分:0)
一种相当直接的方法是只使用find
和rfind
来找到要删除的字符;
s = 'jxjrxxtzxz'
# Remove first occurrence of 'x'
ix = s.find('x')
if ix > -1:
s = s[:ix]+s[ix+1:]
# Remove last occurrence of 'x'
ix = s.rfind('x')
if ix > -1:
s = s[:ix]+s[ix+1:]
答案 1 :(得分:0)
不漂亮,但这会奏效:
def remove_first_last(c, s):
return s.replace(c,'', 1)[::-1].replace(c,'',1)[::-1]
用法:
In [1]: remove_first_last('x', 'jxjrxxtzxz')
Out[1]: 'jjrxxtzz'