2013-04-13 182 views
0

比较这是this后续疑问,认为evalc,而不是用手动文件描述符figgling。您可以在下面看到一个关于不良卫生处理的例子。我想删除诸如尾随字符,所有空格,所有换行符等等 - 通常会导致意想不到的事情 - 是否有准备好的清理命令来执行此操作?消毒字符串在Matlab

EDU>> a 

a = 

1 +1*{x} -1*{y}*{z} 


EDU>> b 

b = 

1 +1*{x} -1*{y}*{z} 

EDU>> isequal(a,b) 

ans = 

    0 

回答

2

我不知道是否存在任何现成健壮的实现,但这非常有效

[email protected](x)regexprep(x,'\s',''); isequal(xx(a),xx(b)) 

,我使用匿名函数,并去除一些古怪比如尾部空格/换行符往往很难在窗户上看。

此外,命令,如strtrim()deblank()可以在除去后的字符实用性。

+1

['deblank'(http://www.mathworks.nl/help/matlab/ref/deblank.html)可能工作了。 – 2013-04-13 19:33:34

+0

@ CST-Link是的,这是很好的一点,实际上它也是我测试过的命令,但我认为strtrim在这种情况下可以做到,并且不需要更多。实际上,'regexprep'非常强大,所以在这里应该足够了,但其他命令可能对其他人在将来阅读此文件时有用。谢谢你的观点! – hhh

+0

@hhh:怎么样删除所有空格字符:'消毒= @(STR)regexprep(STR, '\ S +', '')'? – Amro