str = str.replace ('x', '')는 모든 x를 제거한다는 것을 알고 있습니다.문자열에서 특정 문자 삭제 (파이썬)
하지만 문자열이 jxjrxxtzxz
이고 첫 번째와 마지막 x가 jjrxxtzz
인 문자열 만 삭제한다고 가정 해 보겠습니다. 이것은 문자열과 관련이 없습니다. 나는 그 특별한 예가 아닌 모든 문자열을 다룰 수 있기를 원합니다.
편집 : x는 제거하려는 유일한 문자라고 가정합니다. 고맙습니다!
str = str.replace ('x', '')는 모든 x를 제거한다는 것을 알고 있습니다.문자열에서 특정 문자 삭제 (파이썬)
하지만 문자열이 jxjrxxtzxz
이고 첫 번째와 마지막 x가 jjrxxtzz
인 문자열 만 삭제한다고 가정 해 보겠습니다. 이것은 문자열과 관련이 없습니다. 나는 그 특별한 예가 아닌 모든 문자열을 다룰 수 있기를 원합니다.
편집 : 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