Proper use of regexprep

10 views (last 30 days)
GEORGIOS BEKAS
GEORGIOS BEKAS on 22 Jan 2018
Commented: per isakson on 17 Dec 2018
I want to remove the consonants of a string, using regexprep. How can I modify the initial string s1 with a string s2?
s2 = regexprep(s1,'qwrtpsdfghjklzxcvbnmQWRTPSDFGHKLZXCVBNM','')
  2 Comments
Guillaume
Guillaume on 22 Jan 2018
I don't understand the question. Your code already remove the consonants (assuming basic latin alphabet only). What more do you want?
per isakson
per isakson on 17 Dec 2018
Your statement is lacking the square brackets. Try
s2 = regexprep(s1,'[qwrtpsdfghjklzxcvbnmQWRTPSDFGHKLZXCVBNM]','')

Sign in to comment.

Accepted Answer

KL
KL on 22 Jan 2018
Edited: KL on 22 Jan 2018
use the ^ operator. It should simply be,
s2 = regexprep(s1,'[^aeiou]','')
documentation explains it clearly here: https://de.mathworks.com/help/matlab/ref/regexprep.html
  3 Comments
GEORGIOS BEKAS
GEORGIOS BEKAS on 22 Jan 2018
also it removes the spaces and the capital letters. :/
KL
KL on 22 Jan 2018
it removes every character except what you mention inside the square brackets following ^ sign.
s2 = regexprep(s1,'[^aeiouA-Z]','') %ignores capital letters (A-Z)
s2 = regexprep(s1,'[^aeiouA-Z\s]','') %ignores white spaces as well
I gave you the link to documentation. It explains much more and guess what, even with examples!

Sign in to comment.

More Answers (1)

the cyclist
the cyclist on 22 Jan 2018
Edited: the cyclist on 22 Jan 2018
Can you just do
s1 = s2;
after that? Or just
s1 = regexprep(s1,'qwrtpsdfghjklzxcvbnmQWRTPSDFGHKLZXCVBNM','');
directly, eliminating creating the intermediate variable s2?

Categories

Find more on Characters and Strings in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!