2015-02-09 4 views
0

Я пытаюсь заменить гласные в строке другим символом, используя функцию regexprep. Например,Заменить символы, используя regexprep в Matlab

content = regexprep('refrigerator', '[aeiou]', '!') 

content = r!fr!g!r!t!r 

Однако, когда я пытаюсь использовать переменную строку вместо массива символов, это не похоже на работу:

allowedChar = 'aeiou'; 
content = regexprep('refrigerator', allowedChar, '!') 

content = refrigerator 

Как исправить эту проблему?

ответ

3

Вы забыли [] символов в allowedChar. Оно должно быть:

allowedChar = '[aeiou]'; 
content = regexprep('refrigerator', allowedChar, '!') 
+0

Да, это довольно много его! – rayryeng

0

Для такой простой замены можно использовать ismember вместо regexprep:

content(ismember(content, 'aeiou')) = '!'; 
Смежные вопросы