字符串连接Matlab

时间:2017-04-17 00:46:12

标签: matlab concatenation string-concatenation

我正在尝试在向量中连接字符串,以便我可以在每个单独的字符串上执行一个函数。我是MATLAB的新手,我知道它将每个字母或空格视为一个单独的元素,所以我想知道如何将每个字符串视为一个元素,然后拉出每个字符串以对其执行函数。

2 个答案:

答案 0 :(得分:2)

更好的方法是使用cell arrays,每个单元格都包含一个字符串:

your_array = {'one string', 'another', 'and so on'};

可以通过

访问
your_array{1} % 'one string'
your_array{2} % 'another'

有些函数使用单元格数组,但为了一般用途,使用cellfun处理每个单独的元素。

答案 1 :(得分:0)

也许您正在寻找strcat

由于你没有定义“vector”,我只能假设有三种情况:

1。单元阵列

@ O'Neil已经很好地解释了这一点。

2。 “水平阵列”

在Matlab中,水平字符串数组与单引号:

指定的字符串相同
myStrings = ['string1', 'string2', 'string3']

或只是

myStrings = 'string1string2string3'

在这种情况下,如果您了解每个字符串的长度,则只能提取每个字符串:

string1 = myStrings(1 : lengthOfString1)
string2 = myStrings(lengthOfString1+1 : lengthOfString2)
string3 = myStrings(lengthOfString2+1 : lengthOfString3)

如果你的字符串数组用分隔符分隔每个字符串:

myStrings = 'string1 string2, string3; string4.'

您可以使用strsplit

myStringCell = strsplit(myStrings, {' ',';',',','.'})

返回值myStringCell是每个字符串的单元格数组。

3。垂直阵列

myStrings = ['mystring1'
             'mystring2'];

您可以通过myStrings(1,:)myStrings(2,:)引用每个字符串。

以上假设您无法更改字符串向量。否则,我建议你使用单元格数组。