У меня есть строка в python, и я бы хотел снять последние три символа. Как мне это сделать?String Manipulation in Python
Итак, поверните что-то вроде «привет» на «он».
У меня есть строка в python, и я бы хотел снять последние три символа. Как мне это сделать?String Manipulation in Python
Итак, поверните что-то вроде «привет» на «он».
Вот несколько способов сделать это.
Вы можете заменить всю строку кусочком.
s = "hello"
s = s[:-3] # string without last three characters
print s
# he
В качестве альтернативы вы можете явно лишить последние три символа из строки, а затем назначить его обратно в строку. Хотя, возможно, более читаемый, он менее эффективен.
s = "hello"
s = s.rstrip(s[-3:]) # s[-3:] are the last three characters of string
# rstrip returns a copy of the string with them removed
print s
# he
В любом случае, вам придется заменить исходное значение строки с модифицированной версией, потому что они являются «неизменными» (неизменным) один раз установить в значение.
>>> s = "hello"
>>> print(s[:-3])
he
Для объяснения того, как это работает, см. Вопрос: good primer for python slice notation.
типа "привет" [: 2]
или "привет" [: - 3], который является ответом на удаление последние три буквы
надеюсь, что это помогает
Это не то, что было запрошено; то, что требовалось, было удалить последние три, а не взять первые два. –
Я просто сфокусировался на «он» от «привет» :), его нормально, хотя –
"hello"[:-3]
- первая length - 3
персонажи.
"hello"[:2]
- первые 2 символа.
"hello"[:2]
- это самый простой способ сделать это, однако точный ответ на проблему будет таким, как заявил Саиф аль-Харти. "hello"[:-3]
если х ваша строка, то вы можете использовать x[:len(x)-3:+1]
, чтобы получить желаемый результат
Это работает, но это очень плохой стиль, неэффективен, избыточен и, следовательно, подвержен ошибкам. – Davidmh
Будьте осторожны с последним вариантом: 's =" helloxxxhelloxxx " s = s.replace (s [-3:], '') печать s' – se1by
@ se1by: Хорошая точка ... ответ обновляется соответствующим образом. – martineau