Oct-14-2016, 05:07 PM
z = '346 + 324 - 368' z.split('+', '-')
Error:Traceback (most recent call last):
File "<pyshell#17>", line 1, in <module>
z.split('+', '-')
TypeError: 'str' object cannot be interpreted as an integer
z = '346 + 324 - 368' z.split('+', '-')
Error:Traceback (most recent call last):
File "<pyshell#17>", line 1, in <module>
z.split('+', '-')
TypeError: 'str' object cannot be interpreted as an integer
>>> import re >>> z = '346 + 324 - 368' >>> re.split(r'\W+', z) ['346', '324', '368'] >>> ' '.join(re.split(r'\W+', z)) '346 324 368'\W+ matches any non-word character (equal to [^a-zA-Z0-9_])
z = '346 + 324 - 368' z.split()[::2]
Output:['346', '324', '368']
>>> z = '346 + 324 - 368' >>> x = z.maketrans('+-','..') >>> x {43: 46, 45: 46} >>> y = z.translate(x).split('.') >>> y ['346 ', ' 324 ', ' 368']of course at this point its a list and each string is not separate by one single space
>>> a = list(map(str.strip, y)) >>> a ['346', '324', '368'] >>> ' '.join(a) '346 324 368'This would not matter of exact format as something like this
z = '346 + 324 - 368 - 368 + 368 + 368 -45 -56- 368'would still split to this
346 324 368 368 368 368 45 56 368Using python3.x otherwise you have to import string and convert maketrans line to.... string.maketrans('+-','..')