Find prefix and postfix in a string

14 ビュー (過去 30 日間)
pamela sulis
pamela sulis 2015 年 11 月 18 日
コメント済み: pamela sulis 2015 年 11 月 18 日
Hi! I have a cell array (106x1) of strings, I want to find a prefix in every string and, after find the postfix, count the number of different items. Example
'0(012)(02)3(26)'
'(03)2(12)04)'
'(45)(02)(35)21'
'46(15)212'
For the prefix '01' the postfix are:
'(_2)(02)3(26)'
'(_2)04'
'3'
now i want to count the items more frequent: 0, 2, _2
Can you help me? Thanks
  2 件のコメント
Guillaume
Guillaume 2015 年 11 月 18 日
In your last two lines, I can't see any '01', so shouldn't the output be:
'(_2)(02)3(26)'
'(_2)04'
''
''
I also note that in your output you include the '(' that is before the prefix (and hence is not a postfix). Is that correct and is there any other symbol that follows this rule?
You've not explained what constitute an item, so I've no idea how you come about '0', '2', and '_2' being the most frequent. Why isn't '(' or ')' the most frequent item?
pamela sulis
pamela sulis 2015 年 11 月 18 日
編集済み: pamela sulis 2015 年 11 月 18 日
Yes, I made a mistake! After I have found the prefix, I want to find the elements more frequent in postfix. That in this case are 0,2 and (_2) but i have no idea how to do this. I have tried to find postfix in this way:
for k=1:106
a(k)= regexp(TrajCompact(k,1), '01', 'split');
end

サインインしてコメントする。

採用された回答

Guillaume
Guillaume 2015 年 11 月 18 日
You can't have a regex that returns the before and after of a sequence of characters without that sequence of characters, but you can do your search and replace in two steps
in = {'0(012)(02)3(26)'
'(03)2(012)04)'
'(45)(02)(35)21'
'46(15)212'};
matches = regexp(in, '\(?01.*', 'match', 'once');
out = regexprep(matches, '01', '_') %note that you could simply use strrep
As for your question about frequency, I still have no idea what constitute an item or element.
  3 件のコメント
Guillaume
Guillaume 2015 年 11 月 18 日
Well , 0, 1, 2, 3, 4,... are individual digits. Yet, you also include _2 in your items which is made of two characters.
pamela sulis
pamela sulis 2015 年 11 月 18 日
thanks!

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeCharacters and Strings についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by