如何用等价的特殊字符替换以下特殊字符?
元音:分别由 AEIOUaeiou 编写的 ÁÉÍÓÚáéíóú。和 N 的字母 Ñ。
表达式:
str = regexprep(str,'[^a-zA-Z]','');
将删除所有不在字母表中的字符,但如何替换为如上所示的等效字符?
谢谢
最佳答案
您可以编写一系列正则表达式,例如:
s = regexprep(s,'(?:À|Á|Â|Ã|Ä|Å)','A')
s = regexprep(s,'(?:Ì|Í|Î|Ï)','I')
其余的重音字符依此类推......(大写/小写)
警告:有太多variations即使对于拉丁字母表的一小部分
一个更简单的例子:
chars_old = 'ÁÉÍÓÚáéíóú';
chars_new = 'AEIOUaeiou';
str = 'Ámró';
[tf,loc] = ismember(str, chars_old);
str(tf) = chars_new( loc(tf) )
之前的字符串:
>> str
str =
Ámró
之后:
>> str
str =
Amro
关于string - 用等价物替换特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12771592/