Carrot
Python

[python] 문자열에서 숫자 또는 영문자만 추출하기

NaDuck 2023. 2. 1. 12:33

1. re 정규식 사용하기

findall 메소드로 모두 추출한다. 

import re

string = "abcdeABCDE12345"

# 숫자 추출
p = re.compile('[0-9]')

# 영문자 추출
p = re.compile('[a-zA-Z]')

p.findall(string)  # findall 결과는 "리스트" 타입으로 반환

 


2. ord 사용하기

ord란? 인수로 받은 문자의 유니코드 정수를 return 

각 문자의 유니코드를 숫자/영문자와 비교한다. 

string = "abcde12345"

for char in string:
	
    # 숫자 판별
    if ord("0") <= ord(char) <= ord("9"):
    	...
        
    # 영문자 판별
    if ord("a") <= ord(char) <= ord("z"):
    	...
        
    if ord("A") <= ord(char) <= ord("Z"):    
    	...