【发布时间】:2012-01-14 23:23:33
【问题描述】:
有什么方法可以替换任何外来字符,例如:ã、ä 到 a、Ĉ、ć 到 c 等。 我的意思是留下简单的字母,比如 a-Z,没有任何额外的东西。
【问题讨论】:
-
方法很多。您是否有一种语言可以用来完成这项任务?
-
问题的标题和文本是矛盾的,因为文本是指替换个字符。
有什么方法可以替换任何外来字符,例如:ã、ä 到 a、Ĉ、ć 到 c 等。 我的意思是留下简单的字母,比如 a-Z,没有任何额外的东西。
【问题讨论】:
如果您可以使用正则表达式,您可以使用此正则表达式:
str = str.replaceAll("[^a-zA-Z]", ""); //Assuming it to be a Java String
但是,如果您希望规范化您的文本,您应该按照该问题的公认答案建议进行操作:Remove diacritical marks (ń ǹ ň ñ ṅ ņ ṇ ṋ ṉ ̈ ɲ ƞ ᶇ ɳ ȵ) from Unicode chars
如果您需要在 PHP 中实现相同的功能,您可以编写:
echo iconv('UTF-8', 'US-ASCII//TRANSLIT', 'asdaśćż,ąółwe,ÄĄ;ú');
【讨论】: