IT TIP

백 슬래시 인 경우 마지막 문자 제거

itqueen 2020. 11. 29. 12:46
반응형

백 슬래시 인 경우 마지막 문자 제거


특수 문자 인 경우 문자열의 마지막 문자를 잘라내는 기능이 있습니까? 예를 들어 백 슬래시가있는 경우 제거하고 그렇지 않은 경우 아무 작업도 수행하지 않습니다. 나는 정규식으로 쉽게 할 수 있다는 것을 알고 있지만 작은 내장 함수와 같은 것이 있는지 궁금합니다.


rstrip문자열의 오른쪽에서 지정된 문자를 제거하는 데 사용 합니다.

my_string = my_string.rstrip('\\')

참조 : http://docs.python.org/library/stdtypes.html#str.rstrip


후행 백 슬래시를 모두 제거해도 괜찮다면 다음을 사용할 수 있습니다. string.rstrip()

예를 들면 :

x = '\\abc\\'
print x.rstrip('\\')

인쇄물:

\abc

그러나 이것에 약간의 문제가 있습니다 (당신의 질문이 어떻게 표현되었는지에 따라) : 이것은 모든 후행 백 슬래시를 제거합니다. LAST 문자 만 제거하려면 다음과 같이 할 수 있습니다.

if x[-1] == '\\': x = x[:-1]

여러 개의 백 슬래시 만 제거 하려면 다음과 같이하십시오.

s = s[:-1] if s.endswith('\\') else s

if s.endswith('\\'):
    s = s[:-1]

하지만 rstrip 함수는 마지막 문자 이상을 제거합니다. 문자열 끝에서 모든 백 슬래시를 제거합니다. 다음은 마지막 문자 만 제거하는 간단한 if 문입니다.

if s[-1] == '\\':
    s = s[:-1]

또는 너무 아름답지는 않지만 (날 이기지 마십시오) 작동합니다.

stripSlash = lambda strVal: strVal[:-1] if strVal.endswith('\\') else strVal
stripSlash('sample string with slash\\')

그리고 예-rstrip이 더 좋습니다. 시도하고 싶어요.


우리는 내장 기능을 사용할 수 있습니다 교체

my_str.replace (my_char, '')

my_chars = '\\'    
my_str = my_str.replace(my_char,'')

이것은 my_str의 모든 \대체합니다.

my_str.replace (my_chars, '', i)

my_char = '\\'
my_str = 'AB\CD\EF\GH\IJ\KL'
print ("Original my_str : "+ my_str)
for i in range(8):
    print ("Replace '\\' %s times" %(i))
    print("     Result : "+my_str.replace(my_chars, '',i))

이것은 대체 할 \ 되는 my_str에 내가 지금 당신은 당신이 그것을 대체 할 횟수를 제어 할 수 있습니다 시간

산출:

Original my_str : AB\CD\EF\GH\IJ\KL
Replace '\' 0 times
     Result : AB\CD\EF\GH\IJ\KL
Replace '\' 1 times
     Result : ABCD\EF\GH\IJ\KL
Replace '\' 2 times
     Result : ABCDEF\GH\IJ\KL
Replace '\' 3 times
     Result : ABCDEFGH\IJ\KL
Replace '\' 4 times
     Result : ABCDEFGHIJ\KL
Replace '\' 5 times
     Result : ABCDEFGHIJKL
Replace '\' 6 times
     Result : ABCDEFGHIJKL
Replace '\' 7 times
     Result : ABCDEFGHIJKL

여기서 끝나는 C # 사람들을 위해 :

my_string = my_string.TrimEnd('\\');

참고URL : https://stackoverflow.com/questions/6584871/remove-last-character-if-its-a-backslash

반응형