Как удалить специальные символы из начала строки в Python - PullRequest
2 голосов
/ 09 сентября 2011

Я получаю свои данные из XML, который иногда может содержать специальный символ, например:

'Это пример заголовка или% & * Я не знаю, текст ли это

Я пробовал с: title[0].isstring() or title[0].isdigit() и затем удалите персонажа. Но если в начале есть более одного специального символа, то как мне его удалить? Нужен ли мне цикл for?

Ответы [ 4 ]

7 голосов
/ 09 сентября 2011

Вы можете использовать регулярное выражение:

import re
mystring = re.sub(r"^\W+", "", mystring)

Это удалит все не алфавитно-цифровые символы в начале вашей строки:

Объяснение:

^   # Start of string
\W+ # One or more non-alphanumeric characters
1 голос
/ 09 сентября 2011

Если есть только несколько определенных типов символов, которые вы хотите удалить, используйте lstrip() ("левая полоса").

Например, если вы хотите удалить любые начальные символы %, & или *, вы должны использовать:

actual_title = title.lstrip("%&*")

С другой стороны, если вы хотите удалить любые символы, которые не являются частью определенного набора (например, буквенно-цифровые символы), то решение регулярного выражения, указанное в решении Тима Пицкера, вероятно, является самым простым способом.

1 голос
/ 09 сентября 2011
>>> import re
>>> re.sub(r'^\W*', '', "%&*I don't know if this is the text")
"I don't know if this is the text"

#or

>>> "%&*I don't know if this is the text".lstrip("!@#$%^&*()")
"I don't know if this is the text"
0 голосов
/ 30 июня 2018

Использование функции полосы для удаления любых специальных символов из начала и конца строки.Ex.

str = ").* this is text .("
str.strip(")(.* ")

Output: 'this is text'

Если вы хотите удалить из начала строки, используйте lstrip () Пример.

str = ").* this is text .("
str.lstrip(")(.* ")

Output: 'this is text .('

Если вы хотитеудалить с конца строки используйте rstrip () Пример.

str = ").* this is text .("
str.rstrip(")(.* ")

Output: ').* this is text'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...