파이썬에서 문자열에서 마지막 3자를 제거하려고 하는데이 문자가 무엇인지 알 수 없으므로 rstrip
공백을 제거하고 대문자로 변환해야합니다.
예를 들면 다음과 같습니다.
foo = "Bs12 3ab"
foo.replace(" ", "").rstrip(foo[-3:]).upper()
이 작품은 지난 4 & 3 캐릭터가 있다면 모두 예를 풀어 동일하지만, 내가 원하는 어느 날 BS12을 제공 foo = "BS11 1AA"
난 그냥 얻을'BS'
예를 들면 다음과 foo
같습니다.
BS1 1AB
bs11ab
BS111ab
문자열은 6 ~ 7 자일 수 있으며 마지막 3을 삭제해야합니다 (공백이 없다고 가정).
팁이 있습니까?
''.join(foo.split())
것보다 더 낫다foo.replace(' ', '')
는 어떤 제거하기 때문에 유니 코드 문자열을 사용하는 경우, 공백을 받는 사람뿐만 아니라, 문자를' '
문자 (특히, 비 깨는 공간도 제거됩니다). 즉replace()
, 입력 문자열이 ASCII로 인코딩되어 공백 문자가 하나만있는 ASCII로 인코딩 된 경우 사용할 수 있습니다 (여기서는 Python 2 용어를 사용하고 있습니다)