首先说明问题:
a=char('ab','cd','','efg');
a=
'ab'
'cd'
''
'efg'
结果中仍然保留单引号,以上问题在MATLAB2016b以及之后的版本会遇到,使用函数char、str2mat、strvcat都会存在。
本人是在对连接字符串进行open操作时遇到问题,无法作为文件名打开文件。
解决方法,改用a=[‘ab’,'cd','efg'],得到a='abcdefg'的结果,可以直接用于open操作(变量只是用来举例,勿喷)
若要去掉用于输出的单引号,用disp(a)即可。
顺带说一下函数char、str2mat、strvcat之间的区别:
str2mat目前已经不推荐使用了,MATLAB建议用char,至于char和strvcat的区别在于空字符的理解,试试
strvcat('ab','cd','','efg')
和
char('ab','cd','','efg')
即可看出,strvcat会自动去除空字符,而char仍然保留。
如有错误之处,欢迎批评指正。