Proper use of regexprep

2 次查看(过去 30 天)
GEORGIOS BEKAS
GEORGIOS BEKAS 2018-1-22
评论: per isakson 2018-12-17
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 个评论
Guillaume
Guillaume 2018-1-22
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 2018-12-17
Your statement is lacking the square brackets. Try
s2 = regexprep(s1,'[qwrtpsdfghjklzxcvbnmQWRTPSDFGHKLZXCVBNM]','')

请先登录,再进行评论。

采纳的回答

KL
KL 2018-1-22
编辑:KL 2018-1-22
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 个评论
GEORGIOS BEKAS
GEORGIOS BEKAS 2018-1-22
also it removes the spaces and the capital letters. :/
KL
KL 2018-1-22
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!

请先登录,再进行评论。

更多回答(1 个)

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

类别

Help CenterFile Exchange 中查找有关 Characters and Strings 的更多信息

标签

产品

Community Treasure Hunt

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

Start Hunting!

Translated by