Replacing characters in a string

Hi,
I hope you can help on this little task I have. Basically I have a cell array and I want to know if this cell array contains any elements with 'ly' at the end of the word. If it does remove it from the word.
For example
strcell = {'hi' 'to' 'all' 'the' 'friendly' 'people' 'quickly' 'making' 'time' 'for' 'others'}
I understand that I can use "regexp" to find words that have these characters I want. From this I deduced *note that ive used match to just make it easy for me to see the word and not a random index value':
regexp(strcell, '\w+ly', 'match')
this should return friendly and quickly and from these words the "ly" should be removed:
* friendly -> friend
* quickly -> quick
I understand I am close with using regexprep However, from there I get confused on how to do this!
Thanks

1 Comment

Every new poster should read this question before posting. Very well done!

Sign in to comment.

 Accepted Answer

One way:
regexprep(strcell,'ly\>','')
Match ly at the end of the word \>. Replace it with nothing.

1 Comment

What if I want to remove ly which is in the beginning of the word? Example "lyfriend , ...."

Sign in to comment.

More Answers (2)

Daniel Shub
Daniel Shub on 10 Jan 2013
Edited: Daniel Shub on 10 Jan 2013
I think regexprep does what you want. You need to modify the regexp a little bit:
s = regexprep(strcell, '(\w+)ly', '$1')
If you only want at the end
s = regexprep(strcell, '(.*)(ly\>)', '$1')

2 Comments

I saw my problem I did try that once, but for some reason it kept outputting "$1" I had to parenthesis the \w+ part. Cheers for that
O sorry this does it when 'ly' is also located in the middle of the word. I want it to do it providing its at the end only!

Sign in to comment.

after not skimming the regular expression chapter. There is another method ... I guess there is many different combinations.
[^c1c2c3] }
Any character not contained within the brackets: anything but c1 or c2 or c3
deducing from this, the '^' is like ~ and works as a not therefore, [^a-z]
Thanks for all the suggestions.

Categories

Asked:

on 10 Jan 2013

Commented:

on 21 Aug 2020

Community Treasure Hunt

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

Start Hunting!