convertCharsToStrings

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

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

Синтаксис

B = convertCharsToStrings(A)
[B1,...,Bn] = convertCharsToStrings(A1,...,An)

Описание

пример

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

Была ли эта тема полезной?