目录
convertStringsToChars是将字符串数组转换为字符数组,其他数组不变。
语法
B = convertStringsToChars(A)
[B1,...,Bn] = convertStringsToChars(A1,...,An)
输入数组,指定为任意大小或数据类型的数组。
输出数组。输出数组的数据类型取决于输入数组 A 的数据类型。
-
如果 A 是字符串标量,则 B 是字符向量。
-
如果 A 是任何其他大小的字符串数组,则 B 是具有相同大小的字符向量元胞数组。
-
如果 A 包含其他任何数据类型,则 B 与 A 完全相同。
如果 A 是字符串数组,convertStringsToChars 将按如下方式进行转换:
-
将任何空字符串元素(显示为 "")转换为 0×0 字符数组(显示为 '')
-
将任何缺失字符串元素(显示为 <missing>)转换为 0×0 字符数组
如果 A 是空字符串数组,则 B 是空元胞数组。空数组至少有一个维度的大小为 0。
说明
示例
将字符串数组转换为字符数组
创建一个字符串标量,然后将其转换为字符向量。
str = "Mercury"
str =
"Mercury"
chr = convertStringsToChars(str)
chr =
'Mercury'
将字符串数组转换为字符向量元胞数组。
str = ["Venus","Earth","Mars"]
str = 1x3 string
"Venus" "Earth" "Mars"
C = convertStringsToChars(str)
C = 1x3 cell
{'Venus'} {'Earth'} {'Mars'}
处理并返回输入数组
处理任意多个不同类型的输入数组,仅将字符串数组转换为字符数组。
创建一组数值数组、字符数组和字符串数组。
A = [1 2 3]
A = 1×3
1 2 3
str = ["Mercury","Gemini","Apollo"]
str = 1x3 string
"Mercury" "Gemini" "Apollo"
B = [2 5; 7 6]
B = 2×2
2 5
7 6
C = {'volts','amps'}
C = 1x2 cell
{'volts'} {'amps'}
转换字符串数组,其他数组按原样返回。
[newA,newStr,newB,newC] = convertStringsToChars(A,str,B,C)
newA = 1×3
1 2 3
newStr = 1x3 cell
{'Mercury'} {'Gemini'} {'Apollo'}
newB = 2×2
2 5
7 6
newC = 1x2 cell
{'volts'} {'amps'}
提示
-
要使的现有代码接受字符串数组作为输入,请在代码开头添加对 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,而不是一次对多个输入参数调用该函数。