repeated characters in string

10 次查看(过去 30 天)
Ebtesam Almansor
Ebtesam Almansor 2016-10-13
回答: Gautam Mohan 2016-10-18
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
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!

类别

Help CenterFile Exchange 中查找有关 Characters and Strings 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by