Преобразуйте массивы строк в символьные массивы, оставив другие массивы неизменными
При работе с собственным кодом можно использовать convertStringsToChars
, чтобы заставить код принять входные параметры строки. Затем вы не должны вносить никакие другие изменения в код, который вы записали, чтобы работать с символьными массивами.
B = convertStringsToChars(A)
[B1,...,Bn] = convertStringsToChars(A1,...,An)
преобразовывает B = convertStringsToChars(A)
A
в вектор символа или массив ячеек из символьных векторов, если A
является массивом строк. В противном случае convertStringsToChars
возвращает неизменный A
.
[B1,...,Bn] = convertStringsToChars(A1,...,An)
преобразовывает любые массивы строк в A1,...,An
к векторам символов или массивам ячеек из символьных векторов, и затем возвращает их как соответствующие выходные аргументы в B1,...,Bn
. Если какой-либо из аргументов A1,...,An
имеет какой-либо другой тип данных, то convertStringsToChars
возвращает его неизменный.
Чтобы позволить вашему существующему коду принять массивы строк как входной параметр, добавьте вызов convertStringsToChars
в начале вашего кода.
Например, если вы задали функциональный myFunc
, который принимает три входных параметра, процесс все три входных параметра с помощью convertStringsToChars
. Оставьте остальную часть вашего кода неизменной.
function y = myFunc(a,b,c) [a,b,c] = convertStringsToChars(a,b,c); <line 1 of original code> <line 2 of original code> ...
В этом примере, выходные аргументы перезапись [a,b,c]
входные параметры на месте. Если какой-либо входной параметр не является массивом строк, то это неизменно.
Если myFunc
принимает переменное количество входных параметров, то процесс все аргументы, заданные varargin
.
function y = myFunc(varargin) [varargin{:}] = convertStringsToChars(varargin{:}); ...
Функция convertStringsToChars
более эффективна при преобразовании одного входного параметра. Если производительность является беспокойством, то вызовите convertStringsToChars
на одном входном параметре за один раз, вместо того, чтобы вызвать ее однажды на нескольких входных параметрах.
convertCharsToStrings
| convertContainedStringsToChars
| isStringScalar
| iscellstr
| ischar
| ismissing
| isstring
| строка
| varargin