Replacing characters in a string
7 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
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 Commento
Sean de Wolski
il 10 Gen 2013
Every new poster should read this question before posting. Very well done!
Risposta accettata
Sean de Wolski
il 10 Gen 2013
One way:
regexprep(strcell,'ly\>','')
Match ly at the end of the word \>. Replace it with nothing.
1 Commento
Medhini B
il 21 Ago 2020
What if I want to remove ly which is in the beginning of the word? Example "lyfriend , ...."
Più risposte (2)
Daniel Shub
il 10 Gen 2013
Modificato: Daniel Shub
il 10 Gen 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')
Vedere anche
Categorie
Scopri di più su Characters and Strings in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!