convertCharsToStrings

Преобразуйте символьные массивы в строковые массивы, оставив другие массивы неизменными

Описание

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

пример

B = convertCharsToStrings(A) преобразует A к массиву строк, если A символьный массив или массив ячеек из символьных векторов. Если A имеет любой другой тип данных, затем convertCharsToStrings возвращает A неизменный.

пример

[B1,...,Bn] = convertCharsToStrings(A1,...,An) преобразует любые символьные массивы или массивы ячеек из символьных векторов в A1,...,An к строковым массивам, и затем возвращает их как соответствующие выходные аргументы в B1,...,Bn. Если любой из аргументов A1,...,An имеет любой другой тип данных, затем convertCharsToStrings возвращает его неизменный.

Примеры

свернуть все

Создайте вектор символов и преобразуйте его в скаляр строки.

chr = 'Mercury'
chr = 
'Mercury'
str = convertCharsToStrings(chr)
str = 
"Mercury"

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

C = {'Venus','Earth','Mars'}
C = 1x3 cell array
    {'Venus'}    {'Earth'}    {'Mars'}

str = convertCharsToStrings(C)
str = 1x3 string array
    "Venus"    "Earth"    "Mars"

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

Создайте ряд числового, символ и строковые массивы.

A = [1 2 3]
A = 1×3

     1     2     3

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

B = [2 5; 7 6]
B = 2×2

     2     5
     7     6

C = {'volts','amps'}
C = 1x2 cell array
    {'volts'}    {'amps'}

Преобразуйте символьный массив и оставьте другие массивы неизменными.

[newA,newStr,newB,newC] = convertCharsToStrings(A,str,B,C)
newA = 1×3

     1     2     3

newStr = 1x3 string array
    "Mercury"    "Gemini"    "Apollo"

newB = 2×2

     2     5
     7     6

newC = 1x2 string array
    "volts"    "amps"

Входные параметры

свернуть все

Входной массив, заданный как массив любого размера или типа данных.

Выходные аргументы

свернуть все

Выходной массив. Тип данных выходного массива зависит от типа данных входного массива, A.

  • Если A вектор символов, затем B скаляр строки.

  • Если A массив ячеек из символьных векторов, затем B массив строк, который имеет тот же размер.

  • Если A символьный массив с несколькими строками, затем столбцы A конкатенированы и B возвращен как скаляр строки. Например, 3 2 символьный массив ['Xx';'Yy';'Zz'] преобразован в "XYZxyz".

  • Если A имеет любой другой тип данных, затем B идентично A.

Советы

  • Чтобы включить код, который работает со строками, чтобы принять символьные массивы как входные параметры, добавьте вызов convertCharsToStrings в начале вашего кода.

    Например, если вы задали функциональный myFunc это принимает три входных параметра, процесс все три входных параметров с помощью convertCharsToStrings. Оставьте остальную часть вашего кода неизменной.

    function y = myFunc(a,b,c)
        [a,b,c] = convertCharsToStrings(a,b,c);
        <line 1 of original code>
        <line 2 of original code>
        ...

    В этом примере, выходные аргументы [a,b,c] перезапишите входные параметры на месте. Если какой-либо входной параметр не является символьным массивом или массивом ячеек из символьных векторов, то это неизменно.

    Если myFunc принимает переменное количество входных параметров, затем процесс все аргументы, заданные varargin.

    function y = myFunc(varargin)
        [varargin{:}] = convertCharsToStrings(varargin{:});
        ...
  • convertCharsToStrings функция более эффективна при преобразовании одного входного параметра. Если производительность является беспокойством, то вызовите convertCharsToStrings на одном входном параметре за один раз, вместо того, чтобы вызвать его однажды на нескольких входных параметрах.

Расширенные возможности

Введенный в R2017b