首先說明問題:
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仍然保留。
如有錯誤之處,歡迎批評指正。