find/remove 2 consecutive letters from string

3 次查看(过去 30 天)
Tried the regexp(regexprep) family, still don't know how to get this to work...
I have a cell array of strings, some of which looks like: '.XNY.N'
I simply need to check the cell array, if there is a .N or .M, remove it. Same as in excel you select an array and replace .N and .M with empty.
So in this case '.XNY.N' will be '.XNY'
Anyone knows how to do that? Thanks in advance!

采纳的回答

Andrei Bobrov
Andrei Bobrov 2012-1-3
regexprep('.XNY.N','[.]N','')
  2 个评论
Zoe Zhang
Zoe Zhang 2012-1-3
I see, so [] means the consecutive letter. Thank you!
Walter Roberson
Walter Roberson 2012-1-3
Andrei's answer involved [.] with a period between the brackets. That is one of the ways in which you can code a literal period. Normally in regular expressions, a period is interpreted to mean "any character". You can also use \. to indicate a literal period.

请先登录,再进行评论。

更多回答(1 个)

Walter Roberson
Walter Roberson 2012-1-3
Slightly closer to your original question, and using a different regexp pattern:
regexprep('.XNY.N','\.[MN]','')

类别

Help CenterFile Exchange 中查找有关 Get Started with MATLAB 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by