【发布时间】:2014-03-23 13:53:57
【问题描述】:
背景
我有一个十六进制值的 char 数组,如下所示:
FF23 0008 FF58 00DE 00FC 0008
FF23 0008 FF58 00DF 0012 000C
FF23 0008 FF58 00DD 00F9 000C
FF23 0008 FF58 00DB 00F1 000B
....etc....
那里的分隔符是\t(制表符)。我设法按摩 char 数组以使换行符成为新行(即size(string) = numOfRows, 1)。
我需要将它们放入自己的 4 列中,以便我可以绘制这些值。是的,hex2dec 是我的目标,但它现在不会处理选项卡。
问题
鉴于上述 char 数组,我如何将每组 4 个字符放入各自的列中?如果需要,我可以取出制表符并使用不同的分隔符。
我的失败尝试
xlsread('C:\somefile', charArray)
这对我不起作用,因为我的计算机上没有 Office,只有 LibreOffice (http://tinyurl.com/kecqeg6)。
我试过了:
reshape(charArray, length(charArray), 6)
但这会返回:
??? Error using ==> reshape
To RESHAPE the number of elements must not change.
这我明白,但来吧。 reshape() 有点暗示你可以做这些事情。
感谢您的所有帮助。我很感激。
编辑
之前我以为我有一个字符串向量,而不是一个字符数组。我已经更新了帖子以反映这一点。再次感谢。
【问题讨论】:
-
tinyurl.com URL链接的图片是怎么回事?
-
幽默。我一直受到人们的抨击,因为他们不只是购买 Office 并坚持使用 LibreOffice。这是为了让谈话继续进行。显然,我失败了。
-
您是否尝试过使用
C = strsplit(str,'\t')?在每一行?然后访问一列是微不足道的。 -
是的,我将在上面编辑我的帖子以反映我的新理解,但是当我这样做时
class(strVector(1,1))我得到char而不是string所以strsplit()不知道该怎么做用它。谢谢你的想法 -
Jigg,我已经尝试过
strsplit()方法,不幸的是,我没有包含该方法的 MatLab 版本。谢谢你。还有其他想法吗?
标签: string matlab vector tabs reshape