Single quotes around dataset elements in 2017a?
1 次查看(过去 30 天)
显示 更早的评论
In MATLAB 2017a, when I load a dataset, say, cities.mat, all the city names come with single quotes around them, as shown in the attached file. When I call, say, the 5th element, it returns the city name with the quotation marks. Moreover, there is no way of getting rid of them through indexing.
When I run the same dataset in 2014a, for example, the quotes are not there. What am I doing wrong?
0 个评论
回答(2 个)
Walter Roberson
2017-6-14
Those quotation marks are not present in the input: they are part of the display. You would see the same thing if you went to the MATLAB command prompt and typed
'A'
Because are only part of the display representation you do not need to do anything about them unless you are dealing with display representation matters -- in which case you could continue to use fprintf()
0 个评论
Chuck
2017-6-14
3 个评论
Steven Lord
2017-6-14
If you're using release R2016b or later, you could use a string array to store your text data unpadded. If you're using an earlier release, instead of storing your text data as a char matrix you could store it as a cell array, each cell of which contains a char vector. Walter used this cellstr technique in constructing the char matrix containing 'hello' and 'sam'.
Walter Roberson
2017-6-14
Note that string() applied to a char array will leave the individual results blank padded. You could
strtrim(string(YourCharArray))
or you could
string(cellstr(YourCharArray)))
On the other hand, string data shows up with "" instead of '' so you do not remove the problem of the delimiters showing up in the default output format.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Cell Arrays 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!