Тест на пустые строки и отсутствующие значения

Строковые массивы могут содержать и пустые строки и отсутствующие значения. Пустые строки содержат нулевые символы и отображение как двойные кавычки ни с чем между ними (""). Можно определить, является ли строка пустой строкой с помощью == оператор. Пустая строка является подстрокой любой строки. Поэтому функционирует, такие как contains всегда находите пустую строку в других строках. Строковые массивы также могут содержать отсутствующие значения. Отсутствующие значения в строковых массивах отображаются как <missing>. Чтобы найти отсутствующие значения в массиве строк, используйте ismissing функция вместо == оператор.

Тестирование на пустые строки

Можно протестировать массив строк на пустые строки с помощью == оператор.

Начиная в R2017a, можно создать пустую строку с помощью двойных кавычек ни с чем между ними (""). Обратите внимание на то, что размер str 1 на 1, не 0 на 0. Однако str содержит нулевые символы.

str = ""
str = 
""

Создайте пустой символьный вектор с помощью одинарных кавычек. Обратите внимание на то, что размер chr 0 на 0. Символьный массив chr на самом деле пустой массив, и не только массив с нулевыми символами.

chr = ''
chr =

  0x0 empty char array

Создайте массив пустых строк с помощью strings функция. Каждым элементом массива является строка без символов.

str2 = strings(1,3)
str2 = 1x3 string
    ""    ""    ""

Протестируйте если str пустая строка путем сравнения его с пустой строкой.

if (str == "")
    disp 'str has zero characters'
end
str has zero characters

Не используйте isempty функционируйте, чтобы протестировать на пустые строки. Строка с нулевыми символами все еще имеет размер 1 на 1. Однако можно протестировать, если массив строк имеет по крайней мере одну размерность с размером нуля с помощью isempty функция.

Создайте массив пустой строки с помощью strings функция. Чтобы быть пустым массивом, по крайней мере одна размерность должна иметь размер нуля.

str = strings(0,3)
str = 

  0x3 empty string array

Протестируйте str использование isempty функция.

isempty(str)
ans = logical
   1

Протестируйте массив строк на пустые строки. == оператор возвращает логический массив, который одного размера с массивом строк.

str = ["Mercury","","Apollo"]
str = 1x3 string
    "Mercury"    ""    "Apollo"

str == ''
ans = 1x3 logical array

   0   1   0

Нахождение пустых строк в других строках

Строки всегда содержат пустую строку как подстроку. На самом деле пустая строка всегда и в запуске и в конце каждой строки. Кроме того, пустая строка всегда находится между любыми двумя последовательными символами в строке.

Создайте строку. Затем протестируйте, если это содержит пустую строку.

str = "Hello, world";
TF = contains(str,"")
TF = logical
   1

Протестируйте если str запускается с пустой строки.

TF = startsWith(str,"")
TF = logical
   1

Считайте количество символов в str. Затем считайте количество пустых строк в str. count функционируйте считает пустые строки вначале и конец str, и между каждой парой символов. Поэтому, если str имеет N символы, это также имеет N+1 пустые строки.

str
str = 
"Hello, world"
strlength(str)
ans = 12
count(str,"")
ans = 13

Замените подстроку на пустую строку. Когда вы вызываете replace с пустой строкой это удаляет подстроку и заменяет его на строку, которая имеет нулевые символы.

replace(str,"world","")
ans = 
"Hello, "

Вставьте подстроку после пустых строк с помощью insertAfter функция. Поскольку существуют пустые строки между каждой парой символов, insertAfter вставляет подстроки между каждой парой.

insertAfter(str,"","-")
ans = 
"-H-e-l-l-o-,- -w-o-r-l-d-"

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

Тестирование на отсутствующие значения

Можно протестировать массив строк на отсутствующие значения с помощью ismissing функция. Отсутствующая строка является строкой, эквивалентной NaN для числовых массивов. Это указывает, где массив строк имеет отсутствующие значения. Отсутствующая строка отображается как <missing>.

Чтобы создать отсутствующую строку, преобразуйте отсутствующее значение с помощью string функция.

str = string(missing)
str = 
<missing>

Можно создать массив строк и с пустыми и с отсутствующими строками. Используйте ismissing функция, чтобы определить, какими элементами являются строки с отсутствующими значениями. Обратите внимание на то, что пустая строка не является отсутствующей строкой.

str(1) = "";
str(2) = "Gemini";
str(3) = string(missing)
str = 1x3 string
    ""    "Gemini"    <missing>

ismissing(str)
ans = 1x3 logical array

   0   0   1

Сравните str к отсутствующей строке. Сравнением всегда является 0 ложь), даже когда вы сравниваете отсутствующую строку с другой отсутствующей строкой.

str == string(missing)
ans = 1x3 logical array

   0   0   0

Чтобы найти отсутствующие строки, используйте ismissing функция. Не используйте == оператор.

Смотрите также

| | | | | | | | | | | | | | | | | |

Похожие темы