Модификация строк в Python - PullRequest
2 голосов
/ 29 ноября 2010

У меня есть строка здесь, в python '# b9d9ff'.Как удалить хеш-символ (#)?

Ответы [ 3 ]

8 голосов
/ 29 ноября 2010

Существуют различные тривиально-разные варианты. Каждый из них делает то же самое для вашей строки, но обрабатывает другие строки по-разному.

# Strip any hashes on the left.
string.lstrip('#')

# Remove hashes anywhere in the string, not necessarily just from the front.
string.replace('#', '')

# Remove only the first hash in the string.
string.replace('#', '', 1)

# Unconditionally remove the first character, no matter what it is.
string[1:]

# If the first character is a hash, remove it. Otherwise do nothing.
import re
re.sub('^#', '', string)

(Если вам все равно, используйте lstrip('#'). Это наиболее информативно.)

3 голосов
/ 29 ноября 2010
>>> '#bdd9ff'[1:]
'bdd9ff'
>>> '#bdd9ff'.replace('#', '')
'bdd9ff'
2 голосов
/ 29 ноября 2010

Строго говоря, вы вообще не можете изменять строки в python. Строки являются неизменным типом. Если для ваших нужд достаточно вернуть новые строки с желаемой модификацией, то другие ответы делают именно это. Если вам действительно нужен изменяемый тип, вы можете использовать список односимвольных строк, или вы можете использовать методы array.fromstring() или array.fromunicode() модуля array, или в более новых версиях Python, тип bytearray.

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