Проверить строку на пустоту

« Как стать программистом 1С » Язык 1С » 1С ПустаяСтрока – проверка строки на заполненность

1С ПустаяСтрока – проверка строки на заполненность

Функция 1С ПустаяСтрока(Строка) проверяет строку на заполненность. Под «заполненностью» понимается не просто пустая строка с нулевой длиной, но и строка, в которой есть символы, но они «незначимы». Подробнее о «незначимых» символах см. функцию СокрЛП().

  • Выполняем 1С ПустаяСтрока(«»)
  • 1С возвращает Истина
  • Выполняем 1С ПустаяСтрока(» «)
  • 1С возвращает Истина
  • Выполняем 1С ПустаяСтрока(»
    | «)
  • 1С возвращает Истина
  • Выполняем 1С ПустаяСтрока(» . «)
  • 1С возвращает Ложь

Функция 1С ПустаяСтрока используются чаще всего в проверку на заполненность строковых полей на форме, или в результатах запроса, например, проверка перед записью нового элемента справочника:
Если ПустаяСтрока(Наименование) Тогда
Отказ = Истина;
Сообщить("Не заполнено наименование элемента справочника");
КонецЕсли;

Проголосовать за этот пост:

Добавить комментарий Отменить ответ

Для отправки комментария вам необходимо авторизоваться.

Я видел этот нить, но я не видел конкретного примера JavaScript. Есть простой string.Empty доступные в JavaScript, или это просто случай проверки "" ?

30 ответов

если вы просто хотите проверить, есть ли какое-либо значение, вы можете сделать

Если вам нужно проверить специально для пустой строки над null, я бы подумал, что проверка против "" ваш лучший выбор, используя на === оператор (чтобы вы знали, что на самом деле это строка, с которой вы сравниваете).

для проверки, если строка пуста, null или undefined я использую:

для проверки, является ли строка пустой, нулевой или неопределенной я использую:

для проверки, является ли строка пустой или содержит только пробел:

все вышесказанное хорошо, но это будет еще лучше. использовать !! (не оператор).

или использовать тип отливки:

оба выполняют одну и ту же функцию, введите cast переменную в boolean, где str — это переменная.
Возвращает false на null,undefined,0,000,"",false .
Возвращает true для строки " 0 "и пробелов"".

Читайте также  Расчет потребления блока питания компьютера

Если вам нужно убедиться, что строка не просто куча пустых пространств (я предполагаю, что это для проверки формы), вам нужно сделать замену на пробелы.

самое близкое, что вы можете получить к str.Empty (с предварительным условием, что str является строкой):

в JavaScript нет ничего, представляющего пустую строку. Сделайте проверку против любого length (Если вы знаете, что var всегда будет строкой) или против ""

Я бы не стал слишком беспокоиться о самом эффективное метод. Используйте то, что наиболее ясно вашему намерению. Для меня это обычно strVar == "" .

EDIT: за комментарий от Константин, если strVar может каким-то образом содержать целое значение 0, то это действительно будет одна из тех ситуаций, проясняющих намерения.

можно использовать лодашь : _.isEmpty (значение).

он охватывает множество случаев, таких как <> , » , null , undefined etc.

но он всегда возвращает true на Number типа Примитивные Типы Данных Javascript как _.isEmpty(10) или _.isEmpty(Number.MAX_VALUE) как возвращает true .

вы также можете пойти с regexps:

проверяет наличие пустых или заполненных пробелами строк.

    проверяем, что var a; exist

обрезать 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, это приведет к ошибке:

Я тестировал со следующим массивом значений. Вы можете зациклить его, чтобы проверить свои функции, если сомневаетесь.

чтобы проверить, является ли точно пустой строкой:

чтобы проверить, является ли это пустой строкой или логическим эквивалентом для no-value (null, undefined, 0, NaN, false, . ):

нет isEmpty() метод, вы должны проверить тип и длина:

проверка типа необходима, чтобы избежать ошибок во время выполнения, когда test и undefined или null .

между тем мы можем иметь одну функцию, которая проверяет все "пустые", как null, undefined, ", ‘ ‘, <>, []. Поэтому я просто написал это.

варианты использования и результаты.

это также общий способ проверить, является ли поле пустым.

Читайте также  Приложение для гибдд неправильная парковка

Не предполагайте, что переменная, которую вы проверяете, является строкой. Не предполагайте, что если этот var имеет длину, то это строка.

дело в том, что: тщательно подумайте о том, что ваше приложение должно делать и может принять. Постройте что-нибудь надежное.

Если ваш метод / функция должны обрабатывать только непустую строку, то проверьте, является ли аргумент непустой строкой и не делайте какой-то "трюк".

в качестве примера чего-то, что взорвется, если вы будете следовать некоторым советам здесь не внимательно.

Итак, я остался с

вы также должны всегда проверять тип, так как JavaScript-это типизированный язык duck, поэтому вы можете не знать, когда и как данные изменились в середине процесса. Итак, вот лучшее решение:

У меня действительно тяжелое время, чтобы получить это. Если мой вход является пустой, Я имею в виду «Кнопка ввода» (средства пустая строка, пробелы), как я могу обнаружить это с помощью C ++?.

Как я могу напечатать «I», если это пустая строка и как она работает?
Заранее спасибо.

Решение

Если вы хотите, чтобы пустой ввод был принят, вы должны указать потоку ввода не пропускать пробелы, используя noskipws IO манипулятор:

Ваш код должен работать так, как вы хотите.

Другие решения

Если я вас правильно понял:

Если хотите проверять если указанная строка пустой, просто используйте isspace() функция. Он проверяет, является ли строка нулевой, пустой или пробел.

Если вы хотите принять пустой ввод, просто используйте getline() функция.

функция getline() принимает пустой ввод по умолчанию.

Отформатированные функции ввода, т.е. operator>>() условно начать с пропуска пробелов. Оператор ввода для std::string конечно делает это. Это, вероятно, не то, что вы хотите.

Вы можете отключить это поведение с помощью манипулятора std::noskipws например, используя

Тем не менее, пробелы останутся в потоке. Вы, вероятно, захотите ignore() Это. Судя по звукам, вы действительно хотите прочитать строку ввода и сделать что-то особенное, если оно содержит только пробелы:

Ссылка на основную публикацию
Adblock
detector