Proper use of regexprep

2 visualizzazioni (ultimi 30 giorni)
GEORGIOS BEKAS
GEORGIOS BEKAS il 22 Gen 2018
Commentato: per isakson il 17 Dic 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 Commenti
Guillaume
Guillaume il 22 Gen 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 il 17 Dic 2018
Your statement is lacking the square brackets. Try
s2 = regexprep(s1,'[qwrtpsdfghjklzxcvbnmQWRTPSDFGHKLZXCVBNM]','')

Accedi per commentare.

Risposta accettata

KL
KL il 22 Gen 2018
Modificato: KL il 22 Gen 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 Commenti
GEORGIOS BEKAS
GEORGIOS BEKAS il 22 Gen 2018
also it removes the spaces and the capital letters. :/
KL
KL il 22 Gen 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!

Accedi per commentare.

Più risposte (1)

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

Categorie

Scopri di più su Characters and Strings in Help Center e File Exchange

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by