-1

str = str.replace('x', '') がすべての x を削除することを理解しています。

jxjrxxtzxzしかし、文字列があり、文字列を作成する最初と最後の x のみを削除したいとしましょうjjrxxtzz。これは文字列固有ではありません。その特定の例だけでなく、すべての文字列を処理できるようにしたいと考えています。

編集: x が削除したい唯一の文字であると仮定します。ありがとうございました!

4

2 に答える 2

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'
于 2013-10-22T05:00:40.930 に答える
0

かなり簡単な方法の 1 つは、削除する文字を使用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:]
于 2013-10-22T04:50:08.413 に答える