Skip to main content
Stack Overflow
  1. About
  2. For Teams

Return to Answer

added 28 characters in body
Source Link
Mykola Zotko
  • 18.2k
  • 7
  • 88
  • 91

You can use regex:

import re
s = '144.963286 -37.814212 144.964498 -37.813854 144.964962 -37.814806 144.963711, -37.815168'
pattern = r'([\d\.-]+?\d+\.\d+)[^\d\.-]++?([\d\.-]+?\d+\.\d+)'
new_s = [(float(i.group(1)), float(i.group(2))) for i in re.finditer(pattern, s)]
# [(144.963286, -37.814212), (144.964498, -37.813854), (144.964962, -37.814806), (144.963711, -37.815168)]
import re
s = '144.963286 -37.814212 144.964498 -37.813854 144.964962 -37.814806 144.963711, -37.815168'
pattern = r'([\d\.-]+)[^\d\.-]+([\d\.-]+)'
new_s = [(float(i.group(1)), float(i.group(2))) for i in re.finditer(pattern, s)]
# [(144.963286, -37.814212), (144.964498, -37.813854), (144.964962, -37.814806), (144.963711, -37.815168)]

You can use regex:

import re
s = '144.963286 -37.814212 144.964498 -37.813854 144.964962 -37.814806 144.963711, -37.815168'
pattern = r'(-?\d+\.\d+).+?(-?\d+\.\d+)'
new_s = [(float(i.group(1)), float(i.group(2))) for i in re.finditer(pattern, s)]
# [(144.963286, -37.814212), (144.964498, -37.813854), (144.964962, -37.814806), (144.963711, -37.815168)]
deleted 3 characters in body
Source Link
Mykola Zotko
  • 18.2k
  • 7
  • 88
  • 91
import re
s = '144.963286 -37.814212 144.964498 -37.813854 144.964962 -37.814806 144.963711, -37.815168'
pattern = r'([\d\.+-]+)[^\d\.+-]+([\d\.+-]+)'
new_s = [(float(i.group(1)), float(i.group(2))) for i in re.finditer(pattern, s)]
# [(144.963286, -37.814212), (144.964498, -37.813854), (144.964962, -37.814806), (144.963711, -37.815168)]
import re
s = '144.963286 -37.814212 144.964498 -37.813854 144.964962 -37.814806 144.963711, -37.815168'
pattern = r'([\d\.+-]+)[^\d\.+-]+([\d\.+-]+)'
new_s = [(float(i.group(1)), float(i.group(2))) for i in re.finditer(pattern, s)]
# [(144.963286, -37.814212), (144.964498, -37.813854), (144.964962, -37.814806), (144.963711, -37.815168)]
import re
s = '144.963286 -37.814212 144.964498 -37.813854 144.964962 -37.814806 144.963711, -37.815168'
pattern = r'([\d\.-]+)[^\d\.-]+([\d\.-]+)'
new_s = [(float(i.group(1)), float(i.group(2))) for i in re.finditer(pattern, s)]
# [(144.963286, -37.814212), (144.964498, -37.813854), (144.964962, -37.814806), (144.963711, -37.815168)]
added 3 characters in body
Source Link
Mykola Zotko
  • 18.2k
  • 7
  • 88
  • 91
import re
s = '144.963286 -37.814212 144.964498 -37.813854 144.964962 -37.814806 144.963711, -37.815168'
s
pattern = sr'([\d\.replace+-]+)[^\d\.+-]+(',', ''[\d\.+-]+) # clean from ","
'
new_s = [tuple(map[(float(i.group(1)), float(i.splitgroup(2))) for i in re.findallfinditer(r'[^\s]+\s[^\s]+'pattern, s)]
# [(144.963286, -37.814212), (144.964498, -37.813854), (144.964962, -37.814806), (144.963711, -37.815168)]
import re
s = '144.963286 -37.814212 144.964498 -37.813854 144.964962 -37.814806 144.963711, -37.815168'
s = s.replace(',', '') # clean from ","

new_s = [tuple(map(float, i.split())) for i in re.findall(r'[^\s]+\s[^\s]+', s)]
# [(144.963286, -37.814212), (144.964498, -37.813854), (144.964962, -37.814806), (144.963711, -37.815168)]
import re
s = '144.963286 -37.814212 144.964498 -37.813854 144.964962 -37.814806 144.963711, -37.815168'

pattern = r'([\d\.+-]+)[^\d\.+-]+([\d\.+-]+)'
new_s = [(float(i.group(1)), float(i.group(2))) for i in re.finditer(pattern, s)]
# [(144.963286, -37.814212), (144.964498, -37.813854), (144.964962, -37.814806), (144.963711, -37.815168)]
added 17 characters in body
Source Link
Mykola Zotko
  • 18.2k
  • 7
  • 88
  • 91
Loading
Source Link
Mykola Zotko
  • 18.2k
  • 7
  • 88
  • 91
Loading
lang-py

AltStyle によって変換されたページ (->オリジナル) /