matlab中的任何修剪函数?

时间:2011-11-17 02:37:25

标签: matlab

如果我有像[1 2 3; 4.0 c]我想让它像matlab中的1234.0c一样输出它。我可以使用什么功能?我在寻找像修剪一样的东西。

有什么想法吗? 谢谢

3 个答案:

答案 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

如果您愿意,可以使用isletterisnumeric等功能。

此外,您可以在一行中创建自己的功能,如下所示

>> 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