我正在尝试在向量中连接字符串,以便我可以在每个单独的字符串上执行一个函数。我是MATLAB的新手,我知道它将每个字母或空格视为一个单独的元素,所以我想知道如何将每个字符串视为一个元素,然后拉出每个字符串以对其执行函数。
答案 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”,我只能假设有三种情况:
在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
是每个字符串的单元格数组。
myStrings = ['mystring1'
'mystring2'];
您可以通过myStrings(1,:)
和myStrings(2,:)
引用每个字符串。
以上假设您无法更改字符串向量。否则,我建议你使用单元格数组。