Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 8, 2008 07:24:31

Cover Story
От:
Зарегистрирован: 2008-08-26
Сообщения: 192
Репутация: +  0  -
Профиль   Отправить e-mail  

Удалить символ в строке

Всем доброго!
Подскажите пожалуйста, как можно удалить определенный символ в строке. Строка следующего вида: “:32A:081023KZT214я688,31”. В данной строчке затесалась лишняя буква “я”. С регулярными выражениями разбирался, но что-то пока не въеду. Помогите пожалуйста интересуют вопросы: как удалить букву “я” в данной строке и как удалить седьмой символ с конца.



Python 2.7.3
Pyside 1.1.2

Офлайн

#2 Ноя. 8, 2008 08:00:20

hellslade
От:
Зарегистрирован: 2008-01-28
Сообщения: 240
Репутация: +  0  -
Профиль   Отправить e-mail  

Удалить символ в строке

Строка это неизменяемый тип, нельзя из нее удалить символ. Но можно сделать срез:

i=s.index('я')
s1=s[:i]+s[i+1:]
Мне это кажется наиболее простым способом



Офлайн

#3 Ноя. 8, 2008 08:36:57

bw
От:
Зарегистрирован: 2007-09-26
Сообщения: 938
Репутация: +  20  -
Профиль   Адрес электронной почты  

Удалить символ в строке

>>> s = s.replace('я', '')
>>> s = s[:-7] + s[-8:]
..bw



Отредактировано (Ноя. 8, 2008 09:10:32)

Офлайн

#4 Ноя. 8, 2008 08:41:16

Cover Story
От:
Зарегистрирован: 2008-08-26
Сообщения: 192
Репутация: +  0  -
Профиль   Отправить e-mail  

Удалить символ в строке

Спасибо. Я тоже наваял свое решение.

import re
delim_re = re.compile(r"[я]")
text = ":32A:081023KZT214я688,31"
ss = delim_re.split(text)
print ss[0]+ ss[1]
Правда оно получилось длинноватым



Python 2.7.3
Pyside 1.1.2

Офлайн

#5 Ноя. 8, 2008 08:45:21

gmorgunov
От:
Зарегистрирован: 2008-10-15
Сообщения: 137
Репутация: +  0  -
Профиль   Отправить e-mail  

Удалить символ в строке

Доброе утро.
А вот еще короче :)

>>> s=s.replace('я','')



Офлайн

#6 Ноя. 8, 2008 09:13:48

bw
От:
Зарегистрирован: 2007-09-26
Сообщения: 938
Репутация: +  20  -
Профиль   Адрес электронной почты  

Удалить символ в строке

> Спасибо. Я тоже наваял свое решение.
Если тебя прёт от регулярок, замечу, в данной задаче их применение совершенно не оправдано, то можешь поступить так и не городить огород:

>>> import re
>>> re.sub('я', '', ':32A:081023KZT214я688,31')
':32A:081023KZT214688,31'
..bw



Офлайн

#7 Ноя. 9, 2008 05:29:43

Cover Story
От:
Зарегистрирован: 2008-08-26
Сообщения: 192
Репутация: +  0  -
Профиль   Отправить e-mail  

Удалить символ в строке

Всем большое спасибо. Я думаю что тему можно закрыть



Python 2.7.3
Pyside 1.1.2

Офлайн

#8 Ноя. 10, 2008 11:37:18

Cover Story
От:
Зарегистрирован: 2008-08-26
Сообщения: 192
Репутация: +  0  -
Профиль   Отправить e-mail  

Удалить символ в строке

Извиняюсь, еще хотелось бы спросить, а как проверить наличие данного символа в строке? Просто появились ситуации когда символ не встречается



Python 2.7.3
Pyside 1.1.2

Офлайн

#9 Ноя. 10, 2008 15:34:14

shiza
От:
Зарегистрирован: 2007-07-03
Сообщения: 1073
Репутация: +  0  -
Профиль   Отправить e-mail  

Удалить символ в строке

if 'a' in 'lopata':
...



Офлайн

#10 Ноя. 10, 2008 20:54:06

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

Удалить символ в строке

if 'a' in string:
......

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version