7

Input: blah.(2/2)

Desired Output: blah

Input can be "blah.(n/n)" where n can be any single digit number.

How do I use regex to achieve "blah"? This is the regex I currently have which doesn't work:

m = re.sub('[.[0-9] /\ [0-9]]{6}$', '', m)
2
  • Are you always going to have that string separated by . Commented Oct 2, 2015 at 18:54
  • Sure you need a regex? Commented Oct 2, 2015 at 19:37

4 Answers 4

10

You need to use regex \.\(\d/\d\)$

>>> import re
>>> str = "blah.(2/2)"
>>> re.sub(r'\.\(\d/\d\)$', '',str)
'blah'

Regex explanation here

Regular expression visualization

Sign up to request clarification or add additional context in comments.

Comments

3

Just do this since you will always be looking to split around the .

s = "stuff.(asdfasdfasdf)"
m = s.split('.')[0]

6 Comments

blah. blah. boom. What about '.'.join(s.split('.')[:-1])
I don't see that it is necessary to convert your list to a string when you can simply just extract the string you need after your split right away.
blah. blah. boom.(4/2) What do you expect to get?
Apologies, I don't understand what you are asking.
No worries. But sometimes there is another dot. Try print "blah. blah. boom.(4/2)".split('.')[0]
|
3

I really like the simplicity of the @idjaw's approach. If you were to solve it with regular expressions:

In [1]: import re

In [2]: s = "blah.(2/2)"

In [3]: re.sub(r"\.\(\d/\d\)$", "", s)
Out[3]: 'blah'

Here, \.\(\d/\d\)$ would match a single dot followed by an opening parenthesis, followed by a single digit, followed by a slash, followed by a single digit, followed by a closing parenthesis at the end of a string.

Comments

1

Just match what you do not want and remove it. In this case, non letters at the end of the string:

>>> re.sub(r'[^a-zA-Z]+$', '', "blah.(1/2)")
'blah'

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.