Форум сайта python.su
Всем доброго!
Подскажите пожалуйста, как можно удалить определенный символ в строке. Строка следующего вида: “:32A:081023KZT214я688,31”. В данной строчке затесалась лишняя буква “я”. С регулярными выражениями разбирался, но что-то пока не въеду. Помогите пожалуйста интересуют вопросы: как удалить букву “я” в данной строке и как удалить седьмой символ с конца.
Офлайн
Строка это неизменяемый тип, нельзя из нее удалить символ. Но можно сделать срез:
i=s.index('я')
s1=s[:i]+s[i+1:]
Офлайн
>>> s = s.replace('я', '')
>>> s = s[:-7] + s[-8:]
Отредактировано (Ноя. 8, 2008 09:10:32)
Офлайн
Спасибо. Я тоже наваял свое решение.
import re
delim_re = re.compile(r"[я]")
text = ":32A:081023KZT214я688,31"
ss = delim_re.split(text)
print ss[0]+ ss[1]
Офлайн
Доброе утро.
А вот еще короче :)
>>> s=s.replace('я','')
Офлайн
> Спасибо. Я тоже наваял свое решение.
Если тебя прёт от регулярок, замечу, в данной задаче их применение совершенно не оправдано, то можешь поступить так и не городить огород:
>>> import re
>>> re.sub('я', '', ':32A:081023KZT214я688,31')
':32A:081023KZT214688,31'
Офлайн
Всем большое спасибо. Я думаю что тему можно закрыть
Офлайн
Извиняюсь, еще хотелось бы спросить, а как проверить наличие данного символа в строке? Просто появились ситуации когда символ не встречается
Офлайн
if 'a' in 'lopata':
...
Офлайн
if 'a' in string:
......
Офлайн