Proper use of regexprep

10 vues (au cours des 30 derniers jours)
GEORGIOS BEKAS
GEORGIOS BEKAS le 22 Jan 2018
Commenté : per isakson le 17 Déc 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 commentaires
Guillaume
Guillaume le 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 le 17 Déc 2018
Your statement is lacking the square brackets. Try
s2 = regexprep(s1,'[qwrtpsdfghjklzxcvbnmQWRTPSDFGHKLZXCVBNM]','')

Connectez-vous pour commenter.

Réponse acceptée

KL
KL le 22 Jan 2018
Modifié(e) : KL le 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 commentaires
GEORGIOS BEKAS
GEORGIOS BEKAS le 22 Jan 2018
also it removes the spaces and the capital letters. :/
KL
KL le 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!

Connectez-vous pour commenter.

Plus de réponses (1)

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

Catégories

En savoir plus sur Characters and Strings dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by