Python Forum
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
How to correct the error?
#1
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
Reply
#2
split() don't work multiple delimiters.
You can use re.spilt().
>>> 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_])
Reply
#3
Adding to the previous answer and explaining the error.
split can be passed two arguments,
  1. a string that indicates where to split
  2. a int specifying the maximum allowed times to split
so the error you have is because the second argument that was expected to be an int was actually a str '-'.

If the string in question is always formatted as shown and you are only interested in getting the numbers without using re
z = '346 + 324 - 368'
z.split()[::2]
Output:
['346', '324', '368']
Reply
#4
a non regex method using string methods....
>>> 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 368
Using python3.x otherwise you have to import string and convert maketrans line to.... string.maketrans('+-','..')
Recommended Tutorials:
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  how can I correct the Bad Request error on my curl request tomtom 8 4,969 Oct-03-2021, 06:32 AM
Last Post: tomtom
  attribute error instead of correct output MaartenRo 2 2,147 Aug-28-2020, 10:22 AM
Last Post: Larz60+
  Correct py got error on another windows 7 meetinnet 8 3,780 Apr-25-2020, 04:57 PM
Last Post: meetinnet
  Getting the error like function not defined .. suggest correct code raghava 1 2,020 Feb-04-2020, 11:20 PM
Last Post: micseydel

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020