Форум сайта python.su
Добрый день.
Работаю со строками и числами. Возникает необходимость в их обработке.
Задачи такие:
- найти в строке подстроку
- удалить из строки некоторые символы (пробелы, ‘\n’ и т.д.)
- преобразовать строку-цифру ('1234') в массив байт соотв цифрам (1,2,3,4) или их ASCII-кодов (0x31, 0x32, 0x33, 0x34)
- преобразовать float-строку ('12.34') в массив байт (если это возможно) или их ASCII-кодов (0x31, 0x32, ‘.’, 0x33, 0x34)
В данный момент пользуюсь string.find('substring') для нахождения построк (кстати что она возвращает? указатель на первый символ найденной построки?) и ord('simbol') которая позволяет увидеть ASCII-код соотв данному символу.
Вобщем подскажите пожалуйста какие ещё есть полезные встроенные методы для работы с числами и строками :)
Интересует любая информация по этой теме.
Заранее спасибо всем кто ответит :)
З.Ы. На питоне пишу недолго, и проект горящий поэтому полезной будет любая помощь :)
Офлайн
mempfis
- удалить из строки некоторые символы (пробелы, ‘\n’ и т.д.)
>>> s = 'abra \n cadabra'
>>> s.replace('a', '').replace('b', '').replace('\n', '')
'r cdr'
import re
>>> re.sub(r'a|b|\n', '', 'abra \n cadabra')
'r cdr'
mempfis
- преобразовать строку-цифру ('1234') в массив байт соотв цифрам (1,2,3,4) или их ASCII-кодов (0x31, 0x32, 0x33, 0x34)
>>> import struct
>>> map(lambda x: struct.pack('b', int(x)), '12345')
['\x01', '\x02', '\x03', '\x04', '\x05']
mempfisfloat.hex(), а hex можно перевести в байты -> myhex.decode('hex_codec') только все не так просто - из-за самого представления дробного числа.
- преобразовать float-строку ('12.34') в массив байт (если это возможно) или их ASCII-кодов (0x31, 0x32, ‘.’, 0x33, 0x34)
Отредактировано (Янв. 13, 2009 11:28:49)
Офлайн
http://www.intuit.ru/department/pl/python/6/3.html
Да и в любом учебнике это есть…
Офлайн