2013-10-22 113 views
-1

我知道str = str.replace('x','')將消除所有的x。從字符串中刪除特定字符(Python)

但是讓我們說我有一個字符串jxjrxxtzxz,我只想刪除字符串jjrxxtzz的第一個和最後一個x。這不是字符串特定的。我希望能夠處理所有字符串,而不僅僅是特定的示例。

編輯:假設x是我想要刪除的唯一字母。謝謝!

回答

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:] 
+0

那麼有沒有簡單的方法去了解它,如果字符串是jxjrxxtxzxz,我想刪除第一個和最後兩個x的? – juice

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' 
相關問題