Как удалить ведущие и конечные нули в строке? Питон
Желаемый результат для удаления задний нули будут:
Желаемый результат для ведущий конечные нули будут:
Выход желания для удаления как начальных, так и конечных нулей будет:
На данный момент я делаю это следующим образом, пожалуйста, предложите лучший способ, если есть:
7 ответы
Что насчет базового
удалить конечные и ведущие нули? Если вас интересует только удаление конечных нулей, используйте .rstrip вместо этого (и .lstrip только для ведущих).
Больше информации в Док.
Вы можете использовать некоторое понимание списка, чтобы получить последовательности, которые вы хотите, например:
Есть ли какая-то умная корректировка этого ответа для особого случая s = ‘0’ ? — Чарльз
@Чарльз: Да! У меня была такая же проблема, и вы можете сделать s.strip(«0») or «0» : если ваша строка превратится в пустую строку, она будет оцениваться как False или и будет заменено на нужную строку «0» — Tarulen
@Pierre GM Спасибо. Это действительно помогает, и это очень просто. Проголосовал за это — Вишав Гупта
Удалить начальный + конечный «0»:
Удалить ведущий «0»:
Удалить завершающий «0»:
ответ дан 30 окт ’12, 15:10
Вы можете просто сделать это с помощью bool:
ответ дан 05 мар ’16, в 13:03
Не работает с alphanumeric0000 как просил ОП. — Калле Рихтер
ответ дан 30 окт ’12, 15:10
Предполагая, что в вашем списке есть другие типы данных (а не только строки), попробуйте это. Это удаляет завершающие и ведущие нули из строк и оставляет другие типы данных нетронутыми. Это также обрабатывает особый случай s = ‘0’
ответ дан 24 окт ’19, 21:10
pandas также предлагаем удобный способ:
Первый даст, например:
Это может быть более удобно при работе с DataFrames
ответ дан 14 окт ’21, 17:10
str.strip это лучший подход для этой ситуации, но more_itertools.strip также является общим решением, которое удаляет как ведущие, так и конечные элементы из итерации:
Код:
Подробнее
Обратите внимание, здесь мы удаляем как начальные, так и конечные строки. «0» s среди других элементов, удовлетворяющих предикату. Этот инструмент не ограничивается строками.
См. также документы для получения дополнительных примеров
-
: зачистите оба конца : зачистить левый конец : зачистите правый конец
more_itertools это сторонняя библиотека, которую можно установить через > pip install more_itertools .
Remove Leading Zeros in Python String

The removal of leading or trailing zeros is essential when data processing is performed, and the data has to be passed forward. A stray 0 might get attached to the string while it is transferred from one place to another, and it is recommended to remove it as it is unnecessary and inconvenient.
This tutorial demonstrates the several ways available to remove leading zeros in a string in Python.
Use Iteration Statements to Remove Leading Zeros in a String in Python
The simplest and most basic way to remove leading zeros in a string in Python is to remove them using iteration statements manually. Here, we manually create a code using a for loop along with the while loop to make a program that removes leading zeros in a string in Python.
The following code uses the for loop to remove leading zeros in a string in Python.
The above code provides the following output:
In the above code, we use two iteration statements, a for loop and a while loop, the latter being nested within the former. Finally, we append the newly created list and then display it after making the necessary changes.
Use the lstrip() Function Along With List Comprehension to Remove Leading Zeros in a String in Python
The lstrip() can be utilized to remove the leading characters of the string if they exist. By default, a space is the leading character to remove in the string.
List comprehension is a relatively shorter and very graceful way to create lists that are to be formed based on given values of an already existing list.
We can combine these two things and use them in our favor.
The following code uses the lstrip() function along with the list comprehension to remove leading zeros in a string in Python.
How to remove leading and trailing zeros in a string? Python
The desired output for removing trailing zeros would be:
The desired output for leading trailing zeros would be:
The desire output for removing both leading and trailing zeros would be:
For now i’ve been doing it the following way, please suggest a better way if there is:
7 Answers 7
What about a basic
to remove both trailing and leading zeros ? If you’re only interested in removing trailing zeros, use .rstrip instead (and .lstrip for only the leading ones).
More info in the doc.
You could use some list comprehension to get the sequences you want like so:
![]()
Remove leading + trailing ‘0’ :
Remove leading ‘0’ :
Remove trailing ‘0’ :
![]()
You can simply do this with a bool:
![]()
Did you try with strip() :
Assuming you have other data types (and not only string) in your list try this. This removes trailing and leading zeros from strings and leaves other data types untouched. This also handles the special case s = ‘0’
pandas also propose a convenient method :
The first one would give, for instance :
This might be more convenient when working with DataFrames
![]()
str.strip is the best approach for this situation, but more_itertools.strip is also a general solution that strips both leading and trailing elements from an iterable:
Code
Details
Notice, here we strip both leading and trailing «0» s among other elements that satisfy a predicate. This tool is not limited to strings.
See also docs for more examples of
-
: strip both ends : strip the left end : strip the right end
more_itertools is a third-party library installable via > pip install more_itertools .
Как удалить начальные и конечные нули в строке? Питон
желаемый выход для удаления трейлинг нули будут:
желаемый выход для ведущий конечные нули будут:
выход желания для удаления как ведущих, так и конечных нулей будет:
сейчас я делаю это следующим образом, Пожалуйста, предложите лучший способ, если есть:
5 ответов
как насчет базового
чтобы удалить как начальные, так и конечные нули ? Если вы заинтересованы только в удалении конечных нулей, используйте .rstrip вместо (и .lstrip только для ведущих).
[дополнительная информация в doc.]
вы можете использовать некоторое понимание списка, чтобы получить последовательности, которые вы хотите так:
удалить ведущий + трейлинг ‘0’:
удалить символы ‘0’:
вы можете просто сделать это с помощью bool:
strip является лучшим подходом для этой ситуации, но more_itertools.strip является общим решением, которое удаляет ведущие и конечные элементы из iterable:
обратите внимание, здесь мы разделяем как ведущие, так и трейлинг «0» S среди других элементов, удовлетворяющих предикату. Этот инструмент не ограничивается строками. см. docs дополнительные примеры.