Как проверить что строка пустая
7 Быстрых способов проверить, пуста ли строка в Python
Способы, с помощью которых мы можем проверить, является ли строка пустой в Python. Строка, в которой есть пробелы, является пустой строкой, но имеет ненулевой размер.
Вступление
Строки Python являются неизменяемыми, то есть мы можем изменять строки в соответствии с выполняемыми операциями. Манипуляция строками-самая важная функция python. Вы можете манипулировать строкой с помощью многих методов, таких как методы нарезки строк, циклического перебора элементов и методы строк. Но. Иногда мы приходим к ситуации, когда нам нужно проверить, пуста ли строка Python или нет, а список пуст . В этой статье мы обсудим способы проверки того, является ли строка пустой или нет в Python.
7 Различных способов проверить, пуста ли строка или нет
Давайте обсудим некоторые способы, с помощью которых мы можем проверить, является ли строка пустой строкой или нет.
1. Использование метода len()
Мы будем вычислять длину строки с помощью len() в python. Затем мы проверим, если длина строки равна 0, то строка пуста; в противном случае-нет.
Давайте рассмотрим пример для лучшего понимания концепции:
Здесь мы взяли две входные строки, s и str. s-пустая строка, а str имеет пробелы. Затем мы вычислили длину обеих строк с помощью функции len() в python. Затем мы применили цикл if-else и проверили, если длина строки равна 0, то строка печати пуста, а если она не пуста, то печать не пуста. В len () пробелы не рассматриваются как пустые в строке, что дает вывод как не пустая строка. Наконец, мы напечатали выходные данные обеих строк.
2. Использование оператора not Для Проверки Того, Является Ли Строка Пустой Строкой В Python
Давайте рассмотрим пример для лучшего понимания концепции:
Здесь мы взяли две входные строки, s и str. s-пустая строка, а str имеет пробелы. Затем мы применили условие if else, в котором мы проверили, если нет в строке, то строка пуста. В противном случае он не пуст. Оператор not также не обрабатывает пробелы как пустую строку, так что выходные данные будут приходить как не пустая строка второй входной строки. Наконец-то мы напечатали результат.
3. Использование функции and operator + strip() для проверки того, является ли строка пустой строкой в python
Иногда мы видим, что пробелы, присутствующие в строке, не рассматриваются как пустые строки. Таким образом, когда мы проверяем пустую строку, мы также можем проверить наличие пробелов с помощью функции strip ().
Давайте рассмотрим пример для лучшего понимания концепции:
Здесь мы взяли две входные строки, s и str. s-пустая строка, а str имеет пробелы. Мы применили условие if-else и проверили с помощью функции strip (), что строка пуста или нет. Если условие становится ложным, это означает, что строка пуста, а остальные блоки выполняются. В этой функции пробелы также рассматриваются как пустые строки. Наконец-то мы напечатали результат.
4. Использование функции Strip() только Для Проверки Пустой Строки В Python
Иногда мы видим, что пробелы, присутствующие в строке, не рассматриваются как пустые строки. Таким образом, когда мы проверяем пустую строку, мы также можем проверить наличие пробелов с помощью функции strip ().
Давайте рассмотрим пример для лучшего понимания концепции:
Здесь мы взяли две входные строки, s и str. s-пустая строка, а str имеет пробелы. Мы применили условие if else, при котором мы удаляем строки, то есть пробелы удаляются, а затем, если строка становится пустой, она будет пустой строкой. В противном случае строка не будет пустой. Наконец-то мы напечатали результат.
5. Использование not operator + str.isspace()
Он работает так же, как и функция strip (), поскольку проверяет наличие пробелов в полосе. Но функция strip() занимает много времени по сравнению с функцией str. isspace (), потому что strip() должна выполнять операцию strip, которая требует больших вычислительных нагрузок.
Давайте рассмотрим пример для лучшего понимания концепции:
6. Использование метода __eq__
Dunder в основном сообщает методы, которые имеют двойное подчеркивание до и после их имен. Мы также можем проверить пустую строку с помощью метода __eq__.
Давайте рассмотрим пример для лучшего понимания концепции:
Здесь мы взяли две входные строки, s и str. s-пустая строка, а str имеет пробелы. Мы взяли метод __eq__. Мы применили данный метод в условии if-else и проверили, пуста ли строка или нет. Наконец-то мы напечатали результат. Этот метод также не рассматривает пробелы как пустые строки.
7. Использование Регулярных Выражений Для Проверки Пустой Строки В Python
Мы можем создать шаблон регулярных выражений, чтобы проверить, является ли данная строка пустой или содержит только пробелы.
Давайте рассмотрим пример для лучшего понимания концепции:
Здесь мы взяли две входные строки, s и str. s-пустая строка, а str имеет пробелы. Мы импортировали библиотеку re в python. Затем мы применили условие if-else с заданным форматом, чтобы проверить, является ли строка пустой или нет. Если условие if удовлетворяет, то вывод выводится как пустая строка. В противном случае вывод выводится как не пустая строка. Следовательно, вы можете видеть результат.
Также Читайте: 5 Способов проверить, является ли строка целочисленной в Python
Вывод
В этом уроке мы узнали о концепции проверки того, является ли строка пустой или нет, и содержит ли она только пробелы или нет. Мы подробно объяснили всю концепцию, взяв все способы проверить, является ли строка пустой. Все способы подробно объясняются с помощью примеров. Вы можете использовать любой из методов, которые вам нравятся, в соответствии с требованиями вашей программы или проекта.
Однако, если у вас есть какие-либо сомнения или вопросы, дайте мне знать в разделе комментариев ниже. Я постараюсь помочь вам как можно скорее.
Как проверить, пуста ли строка C
Я пишу очень маленькую программу на C, которая должна проверить, если определенная строка пустая. Ради этого вопроса я упростил свой код:
Я хочу, чтобы программа прекратила цикл, если пользователь просто нажимает enter, ничего не вводя.
10 ответов
поскольку строки в стиле C всегда заканчиваются нулевым символом ( ), вы можете проверить, пуста ли строка, написав
кроме того, вы можете использовать strcmp функция, которая является излишней, но может быть легче читать:
отметим, что strcmp возвращает ненулевое значение, если строки различны, и 0, если они одинаковы, поэтому этот цикл продолжает цикл, пока строка не пуста.
надеюсь, что это помогает!
Если вы хотите проверить, пуста ли строка:
это то, что вы должны сделать:
Обычно говоря, вам будет трудно получить пустую строку здесь, учитывая %s пропускает пробельные символы (пробелы, табуляции, переводы строк). но все равно, scanf() фактически возвращает количество успешных матчей.
число успешно сопоставленных и назначенных входных элементов, которое может быть меньше, чем предусмотрено, или даже равно нулю в случае раннего сопоставления неудача.
Итак, если каким-то образом им удалось обойтись пустой строкой ( ctrl+z например) вы можете просто проверить результат возврата.
значение EOF возвращается, если конец ввода достигается до первого успешного преобразования или происходит сбой сопоставления. EOF также возвращается, если чтение возникает ошибка, в этом случае индикатор ошибки для потока (см. ferror(3)), а errno устанавливается укажет на ошибку.
возвращает длину строки. Он подсчитывает все символы, пока не будет найден нулевой байт. В вашем случае проверьте его на 0.
или просто проверьте его вручную с помощью:
Как проверить, пуста ли строка?
Есть ли в Python что-то вроде пустой строковой переменной, где вы можете сделать:
Независимо от того, какой самый элегантный способ проверить наличие пустых строковых значений? Я нахожу жесткое кодирование «» каждый раз для проверки пустой строки не таким хорошим.
Пустые строки являются «ложными», что означает, что они считаются ложными в логическом контексте, так что вы можете просто сделать это:
Для последовательностей (строк, списков, кортежей) используйте тот факт, что пустые последовательности являются ложными.
Поэтому вы должны использовать:
Наиболее элегантный способ, вероятно, состоит в том, чтобы просто проверить, является ли он истинным или ложным, например:
Тем не менее, вы можете удалить пустое пространство, потому что:
Вы, вероятно, должны быть немного более явными в этом, однако, если вы точно не знаете, что эта строка прошла какую-то проверку и является строкой, которая может быть протестирована таким образом.
Я бы проверил единство перед тем, как раздеться. Кроме того, я бы использовал тот факт, что пустые строки являются ложными (или ложными). Этот подход аналогичен Apache StringUtils.isBlank или Guava Strings.isNullOrEmpty.
Это то, что я бы использовал, чтобы проверить, является ли строка None, OR Empty или Blank:
И полная противоположность проверке, не является ли строка None NOR Empty NOR Blank:
Более краткие формы приведенного выше кода:
Однажды я написал что-то похожее на ответ Бартека и вдохновил javascript:
Единственный действительно надежный способ сделать это заключается в следующем:
У всех других решений есть возможные проблемы и крайние случаи, когда проверка может потерпеть неудачу.
len(myString)==0 может потерпеть неудачу, если myString является объектом класса, который наследует str и переопределяет __len__() метод.
myString is «» и «» is myString эквивалентны. Они оба потерпят неудачу, если на myString самом деле это не строка, а подкласс строки (оба вернутся False ). Кроме того, поскольку они являются проверками идентичности, единственная причина, по которой они работают, заключается в том, что Python использует String Pooling (также называемый String Internment), который использует один и тот же экземпляр строки, если он интернирован (см. Здесь: Почему при сравнении строк используется либо ‘= = ‘или’ is ‘иногда дают другой результат? ). И «» стажируется с самого начала в CPython
Большая проблема с проверкой идентичности состоит в том, что String Internment (насколько я мог найти) не стандартизирует, какие строки интернированы. Это означает, что теоретически «» не обязательно интернировать, и это зависит от реализации.
Также полагаться на ложность строки может не сработать, если объект переопределяет свой __bool__() метод.
Это не только теоретическая работа, но на самом деле может иметь отношение к реальному использованию, так как я уже видел подклассы фреймворков и библиотек, str и использование там myString is «» может привести к неверному выводу.
Кроме того, сравнение строк с использованием is в общем-то является довольно злой ловушкой, поскольку иногда она будет работать правильно, но не в других случаях, поскольку объединение строк следует довольно странным правилам.
Тем не менее, в большинстве случаев все упомянутые решения будут работать правильно. Это пост в основном академическая работа.
Как проверить пустую строку в JavaScript?
30 ответов
если вы просто хотите проверить, есть ли какое-либо значение, вы можете сделать
Если вам нужно проверить специально для пустой строки над null, я бы подумал, что проверка против «» ваш лучший выбор, используя на === оператор (чтобы вы знали, что на самом деле это строка, с которой вы сравниваете).
для проверки, если строка пуста, null или undefined я использую:
для проверки, является ли строка пустой, нулевой или неопределенной я использую:
для проверки, является ли строка пустой или содержит только пробел:
или использовать тип отливки:
Если вам нужно убедиться, что строка не просто куча пустых пространств (я предполагаю, что это для проверки формы), вам нужно сделать замену на пробелы.
самое близкое, что вы можете получить к str.Empty (с предварительным условием, что str является строкой):
в JavaScript нет ничего, представляющего пустую строку. Сделайте проверку против любого length (Если вы знаете, что var всегда будет строкой) или против «»
EDIT: за комментарий от Константин, если strVar может каким-то образом содержать целое значение 0, то это действительно будет одна из тех ситуаций, проясняющих намерения.
можно использовать лодашь : _.isEmpty (значение).
вы также можете пойти с regexps:
проверяет наличие пустых или заполненных пробелами строк.
обрезать false spaces в значении, затем проверьте для emptiness
много ответов, и много разных возможностей!
без сомнения, для быстрой и простой реализации победителем является: if (!str.length)
однако, как и многие другие примеры доступны. Лучший функциональный метод для этого, я бы предложил:
немного чрезмерно, я знаю.
кроме того, если вы считаете строку, заполненную пробелами, «пустой». Вы можете проверить его с помощью этого регулярного выражения:
Я обычно использую что-то вроде этого,
Я не заметил ответа, который учитывает возможность нулевых символов в строке. Например, если у нас есть нулевая символьная строка:
чтобы проверить его ничтожность, можно сделать что-то вроде этого:
он работает на нулевой строке и на пустой строке, и он доступен для всех строк. Кроме того, он может быть расширен, чтобы содержать другие пустые символы JavaScript или пробелы (т. е. неразрывное пространство, Знак порядка байтов, строки/абзаца сепаратор, etc.).
Если нужно обнаружить не только пустые, но и пустые строки, я добавлю к ответу Goral:
Я использую комбинацию, сначала самые быстрые проверки.
игнорируя строки пробелов, вы можете использовать это для проверки null, empty и undefined:
краткий и он работает для неопределенных свойств, хотя он не самый читаемый.
все эти ответы хороши.
но я не могу быть уверен, что переменная является строкой, не содержит только пробелы (это важно для меня) и может содержать » 0 » (строка).
Я обычно использую что-то вроде:
Я провел некоторое исследование, что произойдет, если вы передадите нестроковое и непустое/нулевое значение функции тестера. Как многие знают, (0 == «») истинно в javascript, но поскольку 0 является значением, а не пустым или нулевым, вы можете проверить его.
следующие две функции возвращают true только для значений undefined, null, empty / whitespace и false для всего остального, такого как числа, boolean, объекты, выражения и т. д.
более сложные примеры есть, но эти просты и дают последовательные результаты. Нет необходимости тестировать undefined, так как он включен в проверку (value == null). Вы также можете имитировать поведение C#, добавляя их в строку следующим образом:
вы не хотите помещать его в прототип строк, потому что, если экземпляр String-class равен null, это приведет к ошибке:
Я тестировал со следующим массивом значений. Вы можете зациклить его, чтобы проверить свои функции, если сомневаетесь.
чтобы проверить, является ли точно пустой строкой:
нет isEmpty() метод, вы должны проверить тип и длина:
между тем мы можем иметь одну функцию, которая проверяет все «пустые», как null, undefined, «, ‘ ‘, <>, []. Поэтому я просто написал это.
варианты использования и результаты.
это также общий способ проверить, является ли поле пустым.
Не предполагайте, что переменная, которую вы проверяете, является строкой. Не предполагайте, что если этот var имеет длину, то это строка.
дело в том, что: тщательно подумайте о том, что ваше приложение должно делать и может принять. Постройте что-нибудь надежное.
Если ваш метод / функция должны обрабатывать только непустую строку, то проверьте, является ли аргумент непустой строкой и не делайте какой-то «трюк».
в качестве примера чего-то, что взорвется, если вы будете следовать некоторым советам здесь не внимательно.
вы также должны всегда проверять тип, так как JavaScript-это типизированный язык duck, поэтому вы можете не знать, когда и как данные изменились в середине процесса. Итак, вот лучшее решение:
Как я могу проверить наличие пустой / неопределенной / нулевой строки в JavaScript?
30 ответов
Если вы просто хотите проверить, есть ли какое-либо значение, вы можете сделать
Для проверки, является ли строка пустой, нулевой или неопределенной, я использую:
Для проверки, является ли строка пустой, нулевой или неопределенной, я использую:
Для проверки, является ли строка пустой или содержит только пробел:
Согласно комментарию от Константина, если бы strVar мог каким-то образом содержать целочисленное значение 0, то это действительно было бы одно из тех ситуаций, разъясняющих намерения.
На данный момент нет прямого метода, такого как string.empty, чтобы проверить, является ли строка пустой или нет. Но в вашем коде вы можете использовать проверку оболочки для пустой строки, например:
Используя это, вы также можете убедиться, что строка не является неопределенной или нулевой. Помните, неопределенные, нулевые и пустые три разные вещи.
PS: в JavaScript не используйте разрыв строки после return ;
Или используйте тип литья:
Ближайшая вещь, которую вы можете получить к str.Empty (при условии, что str является String):
И вы можете назвать это так:
Игнорируя строки пробелов, вы можете использовать это, чтобы проверить наличие нулевых, пустых и неопределенных:
Он лаконичен и работает для неопределенных свойств, хотя и не самый читаемый.
Я обычно использую что-то вроде этого,
Все эти ответы хороши.
Но я не могу быть уверен, что переменная является строкой, не содержит только пробелов (это важно для меня) и может содержать «0» (строка).
Я не видел хорошего ответа здесь (по крайней мере, не тот ответ, который подходит мне)
Поэтому я решил ответить себе:
value === undefined || value === null || value === «»;
Вам нужно начать проверять, не определено ли оно. В противном случае ваш метод может взорваться, и тогда вы можете проверить, равен ли он нулю или равен пустой строке.
С учетом сказанного, оберните его таким способом:
public static isEmpty(value: any): boolean
Производительность
Я выполняю тесты на macOS v10.13.6 (High Sierra) для 18 выбранных решений. Решения работают немного иначе (для входных данных углового случая), которые были представлены во фрагменте ниже.
Детали
В следующем фрагменте я сравниваю результаты выбранных 18 методов, используя разные входные параметры
Не все протестированные методы поддерживают все входные данные.
Вы также можете использовать регулярные выражения:
Проверяет строки, которые либо пусты, либо заполнены пробелами.
Если нужно обнаружить не только пустые, но и пустые строки, я добавлю к ответу Горала:
Там нет ничего, представляющего пустую строку в JavaScript. Выполните проверку либо length (если вы знаете, что переменная всегда будет строкой), либо против «»
Варианты использования и результаты.
Чтобы проверить, является ли это точно пустой строкой:
Я использую комбинацию, и самые быстрые проверки являются первыми.
Много ответов и много разных возможностей!
Без сомнения, для быстрой и простой реализации победитель: if (!str.length)
Тем не менее, как и многие другие примеры доступны. Лучший функциональный метод для этого, я бы предложил:
Я немного излишне знаю.
Я провел некоторое исследование того, что произойдет, если вы передадите не строковое и непустое / нулевое значение в функцию тестера. Как многие знают, (0 == «») верно в JavaScript, но поскольку 0 является значением, а не пустым или нулевым, вы можете проверить его.
Следующие две функции возвращают true только для неопределенных, нулевых, пустых / пробельных значений и false для всего остального, такого как числа, логические значения, объекты, выражения и т. Д.
Существуют более сложные примеры, но они просты и дают согласованные результаты. Нет необходимости проверять неопределенность, поскольку она включена в проверку (value == null). Вы также можете имитировать C # поведение, добавляя их в строку следующим образом:
Вы не хотите помещать его в прототип Strings, потому что если экземпляр класса String равен нулю, он выдаст ошибку:
Я проверил со следующим массивом значений. Вы можете зациклить его, чтобы проверить свои функции, если сомневаетесь.