2013-03-06 30 views
0

我在八度 我想找到所有不同对两个字母文本的问题(没有空格,只有字母)倍频串malipulating

例如(!): 我的文字=“abcdabcd “

我想找到阵列(或向量?),看起来像:AB BC CD DA

我如何做到这一点的easies可能的方式?

感谢您的帮助

回答

1

可以使用unique()功能来做到这一点。唯一的技巧是创建两个字符的列表,这可以通过使用两行来完成,移动一个字符。

str = "abcdabcd"; 
str(2,:) = shift (str, -1); 
str(:,end) = []; # remove last column 
unique (str', "rows") 
+0

如何访问每对? 如果我写str(1)它不给我第一对(ab),但是第一个数字(a)。 我需要这个,因为现在我要计算每对在文本中出现的次数。 – user1926550 2013-03-07 08:48:30

+1

当然不是,你有什么是一个字符矩阵。 'str(1)'只获取第一个字符,而不是第一个字符。将它精确地索引,就好像它是一个矩阵或用'mat2cell()'将其转换为单元格数组。要获得成对的数量,请使用'rows(str)'。 – carandraug 2013-03-07 09:54:45

+0

我还有一个问题。可以说我有这种情况: d = [“aa”;“bb”;“cc”;“dd”]; d = cellstr(d); 我想这样做: x = cstrcat(d(1),“zz”); 但这不起作用,因为d(1)不是一个字符串......我的问题是,我该如何将d(1)(或整个d变量)转换为字符串变量? – user1926550 2013-03-08 10:25:17