repeated characters in string

Hi there, I want to delete any character which repeated more than 3 in string I have this code which delete all repatriation Input = {'CEEEGH';'CCEEG';'ABCDEFF';'BCFGG';'BCDEEG';'BEFFH';'AACEGH'}
cellfun(@unique,Input,'UniformOutput',0)

2 件のコメント

James Tursa
James Tursa 2016 年 10 月 13 日
Delete characters that repeat more than 3 times total, or more than 3 times in a row?
Jos (10584)
Jos (10584) 2016 年 10 月 13 日
What is the output supposed to look like?

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

回答 (1 件)

Gautam Mohan
Gautam Mohan 2016 年 10 月 18 日

0 投票

Hi Ebtesam,
If you want to delete any character which is repeated three or more times in a row, you can substitute the @unique function in your cellfun() with a regexp that searches for 3+ character matches and replaces them with nothing:
f = @(s) regexprep(s, '(\S)\1\1+', '');
cellfun(f,Input,'UniformOutput',0)
If you need to eliminate characters that occur 3 or more times throughout the whole string, I would recommend writing a separate function that accomplishes that goal and then applying it to each string using cellfun().
Hope this helps!

カテゴリ

ヘルプ センター および File ExchangeCharacters and Strings についてさらに検索

タグ

質問済み:

2016 年 10 月 13 日

回答済み:

2016 年 10 月 18 日

Community Treasure Hunt

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

Start Hunting!

Translated by