从字符串中删除特定字符(Python)

时间:2013-10-22 04:39:01

标签: string python-2.7

据我所知,str = str.replace('x','')将消除所有x。

但是,假设我有一个字符串jxjrxxtzxz,我只想删除第一个和最后一个x,使字符串jjrxxtzz。这不是字符串特定的。我希望能够处理所有字符串,而不仅仅是那个具体的例子。

编辑:假设x是我要删除的唯一字母。谢谢!

2 个答案:

答案 0 :(得分:0)

一种相当直接的方法是只使用findrfind来找到要删除的字符;

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'