python 함수없이 문자열 문자 분리 [duplicate]
Dec 02 2020
파이썬에서 [+ 2x, -5y, + 8, + 2y]와 같이 "+ 2x-5y + 8 + 2y"(문자 사이에 공백이 없음)를 분리 할 수 있습니까? 어떻게?
답변
schetefan24 Dec 02 2020 at 22:34
들어올 수있는 모든 입력의 패턴을 알고 있다면 정규 표현식을 살펴보십시오.
귀하의 경우 솔루션은 다음과 같을 수 있습니다.
import re
a = "+2x-5y+8+2y"
print(re.findall(r"[+-]\d[xy]?", a))
re.findall(expression, input)
정규식과 구문 분석 할 인수가 필요합니다. 위의 솔루션에서 패턴 [+-]\d[xy]?
은 다음과 같이 구성됩니다.
[+-]
+ 또는-기호\d
\d+
대신 여러 자리를 사용하려는 경우 임의의 숫자 (+는 여기서 "최소 한 번 반복"을 의미 함)[xy]?
문자 x 및 y 중 하나가 누락되었을 수 있습니다. 다른 문자도 예상하면이 대괄호 안에 추가하십시오.