Как удалить определенное количество символов из строки ? Python
Всем привет . Я столкнулся с такой вот проблемой : У меня есть строка , допустим такая -
'\n\n\n\xa0\n\n\n\n\n\n\n\n\n\n \n\n\n\nKП\n\nДанный\n\nзаходил\n\n\n .'
Мне надо получить слово ЗАХОДИЛ или любой другое на его месте, то есть нужно обрезать строку , но обрезать конкретные символы нельзя ,т.к слово Данный в этой строке ,так же принимает различные значения . Так вот возможно ли обрезать строку ,например, на 20 символов и если возможно подскажите как. Заранее спасибо !
Ответы (4 шт):
Используйте срез для задачи "обрезать строку ,например, на 20 символов". Пример:
a= '\n\n\n\xa0\n\n\n\n\n\n\n\n\n\n \n\n\n\nKП\n\nДанный\n\nзаходил\n\n\n'
print (a[20:])
Вывод:
Данный
заходил
Что почитать: https://pythonworld.ru/osnovy/indeksy-i-srezy.html
Можно обрезать через срез:
string = '\n\n\n\xa0\n\n\n\n\n\n\n\n\n\n \n\n\n\nKП\n\nДанный\n\nзаходил\n\n\n .'
string[19:]
Получится:
'KП\n\nДанный\n\nзаходил\n\n\n .'
Если КП\n\n не нужно:
string[23:]
Получится:
'Данный\n\nзаходил\n\n\n .'
Дополнение к ответам:
txt = '\n\n\n\xa0\n\n\n\n\n\n\n\n\n\n \n\n\n\nKП\n\nДанный\n\nзаходил\n\n\n .'.strip()
print(txt)
KП
Данный
заходил
.
txt = [x for x in txt.split() if x]
print(txt)
['KП', 'Данный', 'заходил', '.']
print(txt[2])
заходил
print(' '.join(txt))
KП Данный заходил .
Можно ещё короче, чем было предложено. Параметр разбиения у функции split по умолчанию именно такой, какой нужно - любые пробельные символы:
text = '\n\n\n\xa0\n\n\n\n\n\n\n\n\n\n \n\n\n\nKП\n\nДанный\n\nзаходил\n\n\n .'
print(' '.join(text.split()[1:]))
Вывод:
Данный заходил .