Home > Mobile >  Python replace between two chars (no split function)
Python replace between two chars (no split function)

Time:11-08

I currently investigate a problem that I want to replace something in a string.

For example. I have the following string:

'123.49, 19.30, 02\n'

I only want the first two numbers like '123.49, 19.30'. The split function is not possible, because a I have a lot of data and some with and some without the last number.

I tried something like this:

import re as regex

#result = regex.match(', (.*)\n', string)
result = re.search(', (.*)\\n', string)
print(result.group(1))

This is not working finde. Can someone help me?

Thanks in advance

CodePudding user response:

You could do something like this:

reg=r'(\d \.\d ), (\d \.\d ).*'
if(re.search(reg, your_text)):
  match = re.search(reg, your_text)
  first_num = match.group(1)
  second_num = match.group(2)

CodePudding user response:

Alternatively, also adding the ^ sign at the beginning, making sure to always only take the first two.

import re
string = '123.49, 19.30, 02\n'
pattern = re.compile('^(\d*.?\d*), (\d*.?\d*)')

result = re.findall(pattern, string)
result

Output: [('123.49', '19.30')]

  • Related