Proper use of regexprep

2 visualizaciones (últimos 30 días)
GEORGIOS BEKAS
GEORGIOS BEKAS el 22 de En. de 2018
Comentada: per isakson el 17 de Dic. de 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 comentarios
Guillaume
Guillaume el 22 de En. de 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 el 17 de Dic. de 2018
Your statement is lacking the square brackets. Try
s2 = regexprep(s1,'[qwrtpsdfghjklzxcvbnmQWRTPSDFGHKLZXCVBNM]','')

Iniciar sesión para comentar.

Respuesta aceptada

KL
KL el 22 de En. de 2018
Editada: KL el 22 de En. de 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 comentarios
GEORGIOS BEKAS
GEORGIOS BEKAS el 22 de En. de 2018
also it removes the spaces and the capital letters. :/
KL
KL el 22 de En. de 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!

Iniciar sesión para comentar.

Más respuestas (1)

the cyclist
the cyclist el 22 de En. de 2018
Editada: the cyclist el 22 de En. de 2018
Can you just do
s1 = s2;
after that? Or just
s1 = regexprep(s1,'qwrtpsdfghjklzxcvbnmQWRTPSDFGHKLZXCVBNM','');
directly, eliminating creating the intermediate variable s2?

Categorías

Más información sobre Characters and Strings en Help Center y File Exchange.

Etiquetas

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by