Proper use of regexprep

2 Ansichten (letzte 30 Tage)
GEORGIOS BEKAS
GEORGIOS BEKAS am 22 Jan. 2018
Kommentiert: per isakson am 17 Dez. 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 Kommentare
Guillaume
Guillaume am 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 am 17 Dez. 2018
Your statement is lacking the square brackets. Try
s2 = regexprep(s1,'[qwrtpsdfghjklzxcvbnmQWRTPSDFGHKLZXCVBNM]','')

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

KL
KL am 22 Jan. 2018
Bearbeitet: KL am 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 Kommentare
GEORGIOS BEKAS
GEORGIOS BEKAS am 22 Jan. 2018
also it removes the spaces and the capital letters. :/
KL
KL am 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!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

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

Kategorien

Mehr zu Characters and Strings finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by