string_ex = "{{20, 111}, {111}}"에서 숫자를 형태 그대로 추출하는 방법
1. 정규문자식을 사용
import re
string_ex = re.findall("\d+", string_ex)
findall을 사용하는 방식은 데이터가 많으면 시간이 오래 걸릴 수 있다.
보통 선형의 시간이 소요되지만, 데이터가 많으면 지수 시간이 걸릴 수 있다.
2. for문을 사용
number = ""
for data in string_ex:
if data.isdigit():
number += data
else:
if number != "":
arr.append(number)
number = ""
3. 숫자 주변에 있는 문자열을 제거한 후 for문을 사용
string_ex = string_ex.replace("{", "").replace("}", "")
number = ""
for data in string_ex:
if data.isdigit():
number += data
else:
arr.append(number)
number = ""
arr.append(number) # 마지막에 append 되지 못한 number를 append 해줘야 한다.
✔️ 세 가지 방법 모두 결과값은 ['20', '111', '111']
'Hacks' 카테고리의 다른 글
파이썬 itertools의 조합 Combinations 구현 (0) | 2022.11.10 |
---|---|
파이썬 itertools의 순열 Permutations 구현 (0) | 2022.11.10 |
파이썬 내장 함수 zip 구현 (0) | 2022.11.10 |
dictionary에 값 추가하기 (0) | 2022.11.01 |
2차원 배열을 1차원 배열로 변환하는 방법 (0) | 2022.11.01 |