-1
我知道str = str.replace('x','')將消除所有的x。從字符串中刪除特定字符(Python)
但是讓我們說我有一個字符串jxjrxxtzxz
,我只想刪除字符串jjrxxtzz
的第一個和最後一個x。這不是字符串特定的。我希望能夠處理所有字符串,而不僅僅是特定的示例。
編輯:假設x是我想要刪除的唯一字母。謝謝!
我知道str = str.replace('x','')將消除所有的x。從字符串中刪除特定字符(Python)
但是讓我們說我有一個字符串jxjrxxtzxz
,我只想刪除字符串jjrxxtzz
的第一個和最後一個x。這不是字符串特定的。我希望能夠處理所有字符串,而不僅僅是特定的示例。
編輯:假設x是我想要刪除的唯一字母。謝謝!
一個相當直接的方法是隻使用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:]
不漂亮,但這種將工作:
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'
那麼有沒有簡單的方法去了解它,如果字符串是jxjrxxtxzxz,我想刪除第一個和最後兩個x的? – juice