Как обрезать пробелы из строки Python?
Как удалить начальные и конечные пробелы из строки в Python?
например:
" Hello " --> "Hello"
" Hello" --> "Hello"
"Hello " --> "Hello"
"Bob has a cat" --> "Bob has a cat"
7 ответов
только одно пространство или все такие пространства? Если второй, то строки уже имеют .strip()
способ:
>>> ' Hello '.strip()
'Hello'
>>> ' Hello'.strip()
'Hello'
>>> 'Bob has a cat'.strip()
'Bob has a cat'
>>> ' Hello '.strip() # ALL spaces at ends removed
'Hello'
Если вам нужно только удалить одно пространство, однако, вы можете сделать это с:
def strip_one_space(s):
if s.endswith(" "): s = s[:-1]
if s.startswith(" "): s = s[1:]
return s
>>> strip_one_space(" Hello ")
' Hello'
внимание:str.strip()
удаляет и другие пробелы (например, вкладки и новые строки). Чтобы удалить только пробелы, можно указать символ для удаления в качестве аргумента strip
, то есть:
>>> " Hello\n".strip(" ")
'Hello\n'
как указано в ответах выше
myString.strip()
удалит все начальные и конечные пробелы, такие как \n, \r, \t, \f, пробел.
для большей гибкости используйте следующие
- удаляет только ведущий пробельных символов:
myString.lstrip()
- удаляет только трейлинг пробельных символов:
myString.rstrip()
- выводит конкретные пробельных символов:
myString.strip('\n')
илиmyString.lstrip('\n\r')
илиmyString.rstrip('\n\t')
и так далее.
более подробная информация доступна в docs
strip
также не ограничивается пробелами:
# remove all leading/trailing commas, periods and hyphens
title = title.strip(',.-')
вы хотите strip ():
myphrases = [ " Hello ", " Hello", "Hello ", "Bob has a cat" ]
for phrase in myphrases:
print phrase.strip()
Я хотел удалить слишком много пробелов в строке (также между строкой, а не только в начале или конце). Я сделал это, потому что я не знаю как это сделать иначе:
string = "Name : David Account: 1234 Another thing: something "
ready = False
while ready == False:
pos = string.find(" ")
if pos != -1:
string = string.replace(" "," ")
else:
ready = True
print(string)
это заменяет двойные пробелы в одном пространстве, пока у вас больше нет двойных пространств
существует также способ сделать это без того, что функция
string = "Hello Wor l d "
tmp_list = []
for char in string:
if char != " ":
tmp_list +=char
final_string = "".join(tmp_list)
print final_string
но это просто для удовольствия:)