>백엔드 개발 >파이썬 튜토리얼 >정규식 또는 `isdigit()`? Python의 문자열에서 숫자를 추출하는 데 가장 적합한 것은 무엇입니까?

정규식 또는 `isdigit()`? Python의 문자열에서 숫자를 추출하는 데 가장 적합한 것은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-12-20 04:00:10332검색

Regex or `isdigit()`? Which is Best for Extracting Numbers from Strings in Python?

Python의 문자열에서 숫자 추출

문자열에서 숫자를 추출하려면 정규 표현식이나 isdigit() 메서드를 사용하면 됩니다. 어떤 접근 방식이 목적에 더 적합한지 비교해 보겠습니다.

정규 표현식

정규 표현식은 문자열의 패턴을 일치시키는 강력한 도구를 제공합니다. 숫자를 추출하려면 다음 정규 표현식을 사용할 수 있습니다.

r'\d+'

이 표현식은 하나 이상의 십진수가 포함된 문자열과 일치합니다. 예를 들어 "hello 23 hi 33"이라는 문자열을 생각해 보세요. 다음 코드는 정규식을 사용하여 숫자를 추출합니다.

import re

line = "hello 23 hi 33"

result = re.findall(r'\d+', line)

print(result)  # [23, 33]

isdigit() 메서드

isdigit() 메서드는 다음을 테스트하는 더 간단한 접근 방식입니다. 문자는 십진수입니다. 그러나 숫자 전체를 추출하는 기능은 제공하지 않습니다. isdigit()를 사용하려면 문자열 문자를 문자별로 반복해야 합니다.

line = "hello 23 hi 33"

result = []

for char in line:
    if char.isdigit():
        result.append(int(char))

print(result)  # [2, 3, 3]

비교

결국 정규식과 isdigit 중 하나를 선택해야 합니다. () 방법은 특정 사용 사례에 따라 다릅니다. 정규식은 복잡한 패턴 일치 및 추출에 더 많은 유연성을 제공합니다. 또한 공백으로 둘러싸인 숫자를 일치시키기 위한 단어 경계(b)와 같은 기능도 지원합니다.

문자열에서 숫자를 간단히 추출하려면 isdigit() 메서드로 충분할 수 있습니다. 그러나 더 복잡한 경우나 숫자 전체를 추출해야 하는 경우에는 정규 표현식이 더 포괄적인 솔루션을 제공합니다.

위 내용은 정규식 또는 `isdigit()`? Python의 문자열에서 숫자를 추출하는 데 가장 적합한 것은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.