TypeError: expected string or bytes-like object

YU NA Joe·2022년 2월 5일
0

주로 정규표현식을 사용할 때 나타나며, 전처리 대상물이 str이 아닐 때! 나타난다.

x = [1, 'A', 2, 'B', 5, 'C', 'D', 'E']
x = re.sub("[^a-zA-Z]","",x) # 알파벳으로 시작하는 것은 없애주자
#re.sub("찾을패턴","찾을 패턴을 변경할 내용","원본")
TypeError: expected string or bytes-like object

에러가 난다. 왜냐하면 리스트안에 숫자도 있기 때문이다. 고쳐보자
str로 형 변환을 해주면 된다

x = [1, 'A', 2, 'B', 5, 'C', 'D', 'E']
x = re.sub("[^a-zA-Z]", "", str(x) )
x # 'ABCDE'

0개의 댓글