728x90
반응형
개요
일반적으로 이용하는 "v1.v2.v3.v4" 버전 문자열에서 각각의 숫자들을 추출하는 방법을 알아 보겠습니다.
크게 두 가지(split(), 정규식) 방법으로 추출할 수 있습니다.
split() 메소드 이용법
간단하게 문자열의 split() 메소드를 이용하여, 버전 문자열의 "." 문자로 나누어서 int 형식으로 변환하면 됩니다.
version_str = "1.2.3.4"
parts = version_str.split('.')
v1, v2, v3, v4 = map(int, parts)
직관적이지만 "1.2.3.4a"과 같이 알파벳이 입력된 경우 "ValueError: invalid literal for int() with base 10: '4a'"와 같은 오류가 발생합니다.
따라서 올바른 버전 문자열이 입력되었는지 유효성 검사가 별도로 필요합니다.
정규식 이용법
버전 문자열의 유효성도 검사하면서 추출할 때 유용합니다.
version_str = "1.2.3.4"
match = re.match(r'^(\d+)\.(\d+)\.(\d+)\.(\d+)$', version_str)
if match:
v1, v2, v3, v4 = map(int, match.groups())
"1.2.3.4a"과 같이 알파벳이 입력된 경우, 패턴과 일치하지 않기 때문에 결과가 반환되지 않습니다.
'프로그래밍 > Python' 카테고리의 다른 글
[Python] 품질 설정과 함께 이미지를 JPEG로 저장 방법들 (0) | 2024.07.04 |
---|---|
[Python] Flask - Server 헤더 변경하기 (0) | 2024.07.03 |
[Python] 현재 시간대에 대한 OFFSET 시간 (UTC) 구하기 (0) | 2024.06.30 |
[python] dict 객체 복사의 세 가지 방법 : 참조 복사, 얕은 복사, 깊은 복사 (0) | 2024.06.26 |
[python] struct.error: char format requires a bytes object of length 1 (0) | 2024.06.22 |