Мне нужно извлечь цифры в тексте в листе Excel - PullRequest
0 голосов
/ 08 декабря 2018

У меня есть набор данных в листе 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

Ответы [ 2 ]

0 голосов
/ 10 декабря 2018
import re
s = "D TUS Syrup 1.0ml"
print (re.findall("\d+", s))

ответ должен быть ['1', '0']

0 голосов
/ 08 декабря 2018

Вы можете использовать следующие 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...