У меня есть набор данных в листе Excel, который
D TUS Syrup 1.0ml ENERGY MAX WHEY PROTEIN VANILLA Powder 40.0gm ENERGY MAX WHEY PROTEIN VANILLA Powder 2.20gm AZKALAX S Powder 10.30gm AZPRO CHIA Seeds 200gm
необходимо преобразовать в
1.0 40.0 2.20 10.30 200
, но я применил приведенную здесь формулу https://www.extendoffice.com/documents/excel/3329-excel-remove-first-last-n-characters.html, когда яприменил код выше
1 40 2 10 2
import re s = "D TUS Syrup 1.0ml" print (re.findall("\d+", s))
ответ должен быть ['1', '0']
Вы можете использовать следующие UDF:
Function GetNum(cell) With CreateObject("VBScript.RegExp") .Pattern = "\d+(\.\d+)?" With .Execute(cell) GetNum = IIf(.Count > 0, .Item(0), CVErr(xlErrNA)) End With End With End Function