如果我有像[1 2 3; 4.0 c]我想让它像matlab中的1234.0c一样输出它。我可以使用什么功能?我在寻找像修剪一样的东西。
有什么想法吗? 谢谢
答案 0 :(得分:2)
您可以使用它从字符串内部删除任意数量的空格:
>> a = char(' he llo wor ld ');
>> a(isspace(a)) = [] %replaces all of the space with nothing
a =
helloworld
答案 1 :(得分:1)
您可以将isstrprop
功能与适当的类别结合使用。对于你的情况,
>> str = '1 2 3; 4.0 c';
>> str(isstrprop(str, 'alphanum') | str == '.')
ans =
1234.0c
如果您愿意,可以使用isletter
,isnumeric
等功能。
此外,您可以在一行中创建自己的功能,如下所示
>> myTrim = @(x)(x(isstrprop(x, 'alphanum') | x == '.'));
>> myTrim(str)
ans =
1234.0c
请注意,您要求[1 2 3; 4.0 c]
作为输入,这不是MATLAB的正确语法。我以为你想要一个字符串。此外,trim实际上意味着从字符串中删除前导和尾随空格,并且在MATLAB中有strtrim
。
答案 2 :(得分:1)
这不是一个有效的MATLAB参数。 但是,如果你有像
这样的东西a = ['1', '2' ,'3'; '4', '.','c'];
你可以使用
a(:)'
获取
142.3c
或
a = a';
a(:)'
获取
123.4c