2013-03-06 50 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