2014-11-12 2 views
0

"기호 문자"는 포함하지만 공백은 포함하지 않는 문자열을 어떻게 분할합니까? 예를 들어 :기호 문자가 포함 된 문자열을 분할하는 방법

aString = '1+20*40-3' 

I 출력이 원하는 :

['1', '+', '20', '*', '40', '-', '3'] 

내가이 시도 :

aString.split('+' and '*' and '-') 

을하지만이 작동하지 않았다.

+3

시간을 참조하십시오. –

+0

참고 : '('+ '및'* '및'- ') =='- ''; 'split' *는 출력에서 ​​분리 한 문자를 제외합니다. '+'와 '2'가 분리되어 있지만 '2'와 '0'이 함께 있어야한다는 표현 방법을 알아야합니다. – jonrsharpe

답변

3

파이썬에서 정규 표현식을 사용하여이 작업을 수행 할 수 있습니다. 코드는 다음과 같습니다

import re 
aString= '1+20*40-3' 
print re.findall('[+-/*]|\d+',aString) 

출력 :

>>> 
    ['1', '+', '20', '*', '40', '-', '3'] 

이 문서를 정규 표현식에 대해 배울 수 here

+0

완벽한, 고마워. 문자열 (**)에 지수를 추가하려면 어떻게해야합니까? 예를 들어 aSting = '1 ** 2' – user4245086

관련 문제