반응형
파이썬 문자열의 첫 번째와 마지막 문자 확인
누구든지이 코드의 문제점을 설명해 주시겠습니까?
str1='"xxx"'
print str1
if str1[:1].startswith('"'):
if str1[:-1].endswith('"'):
print "hi"
else:
print "condition fails"
else:
print "bye"
내가 얻은 출력은 다음과 같습니다.
Condition fails
그러나 hi
대신 인쇄 할 것으로 예상했습니다 .
[:-1]
마지막 요소를 제거 한다고 말할 때 . 문자열을 자르는 대신 다음 startswith
과 endswith
같이 문자열 객체 자체에 적용 할 수 있습니다.
if str1.startswith('"') and str1.endswith('"'):
그래서 전체 프로그램은 이렇게됩니다
>>> str1 = '"xxx"'
>>> if str1.startswith('"') and str1.endswith('"'):
... print "hi"
>>> else:
... print "condition fails"
...
hi
조건식으로 더 간단하게
>>> print("hi" if str1.startswith('"') and str1.endswith('"') else "fails")
hi
당신은
if str1[0] == '"' and str1[-1] == '"'
또는
if str1.startswith('"') and str1.endswith('"')
하지만 슬라이스하지 않고 startswith / endswith를 함께 확인하십시오. 그렇지 않으면 찾고있는 것을 슬라이스 할 것입니다.
마지막 문자를 뺀 문자열에 대해 테스트하고 있습니다 .
>>> '"xxx"'[:-1]
'"xxx'
마지막 문자 "
인이 슬라이스 출력의 일부가 아니라는 점에 유의하십시오 .
나는 당신이 마지막 캐릭터에 대해 테스트하기를 원했다고 생각합니다. [-1:]
마지막 요소 만 슬라이스 하는 데 사용 합니다.
그러나 여기서는 슬라이스 할 필요가 없습니다. str.startswith()
그리고 str.endswith()
직접 사용하십시오 .
문자열 변수를 설정하면 따옴표를 저장하지 않고 정의의 일부입니다. 그래서 당신은 사용할 필요가 없습니다 : 1
참고 URL : https://stackoverflow.com/questions/19954593/python-checking-a-strings-first-and-last-character
반응형
'Development Tip' 카테고리의 다른 글
yaml 파일 구문 분석 오류 : 여기에 매핑 값이 허용되지 않습니다. (0) | 2020.12.03 |
---|---|
서비스 내에서 $ watch? (0) | 2020.12.03 |
SQL Server 2000 : 저장 프로 시저를 종료하는 방법은 무엇입니까? (0) | 2020.12.03 |
if 문에 상수를 먼저 넣는 이유는 무엇입니까? (0) | 2020.12.03 |
KnockoutJS의 숫자 서식 규칙 (0) | 2020.12.03 |