Разбор строки текста, чтобы получить конкретное число - PullRequest
0 голосов
/ 25 июня 2010

У меня есть строка текста в виде " some spaces variable = 7 = '0x07' some more data"

Я хочу разобрать его и получить число 7 из "some variable = 7". Как это можно сделать в Python?

Ответы [ 3 ]

3 голосов
/ 25 июня 2010

Я бы использовал более простое решение, избегая регулярных выражений.

Разделите на '=' и получите значение в ожидаемой вами позиции

text = 'some spaces variable = 7 = ...'
if '=' in text:
    chunks = text.split('=')
    assignedval = chunks[1]#second value, 7
    print 'assigned value is', assignedval
else:
    print 'no assignment in line'
2 голосов
/ 25 июня 2010

Используйте регулярное выражение .

По сути, вы создаете выражение, которое выглядит примерно так: "variable = (\d+)", делаете совпадение, а затем берете первую группу, которая даст вамстрока 7. Затем вы можете преобразовать его в int.

Прочитайте учебник по ссылке выше.

0 голосов
/ 25 июня 2010

Основной фрагмент кода регулярного выражения для поиска чисел в строке.

>>> import re
>>> input = " some spaces variable = 7 = '0x07' some more data"
>>> nums = re.findall("[0-9]*", input)
>>> nums = [i for i in nums if i]  # remove empty strings
>>> nums
['7', '0', '07']

Ознакомьтесь с документацией и How-To на python.org.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...