繁体   English   中英

如何从C中的字符串中删除重音符号?

[英]How to remove accents from string in C?

有没有更有效的方法来从字符串中删除重音符号而不用创建一个包含要替换的字符的大数组?

例如:

removeaccents("áèfoo")

输出:

aefoo

在 ASCII 表中没有重音,我不知道如何做到这一点。 提前致谢。 :)

听起来您正在寻找unac() 从手册页:

unac是一个 C 库,可以从字符中删除重音符号,无论字符集(ISO-8859-15、ISO-CELTIC、KOI8-RU...)如何,只要iconv(3)能够将其转换为 UTF-16 (统一码)。

我找不到下载页面(我认为它应该在这里,但链接目前是 404ing)。 如果您使用的是 ubuntu,则可以通过以下方式获取:

sudo apt-get install libunac1-dev

假设您正在使用 gcc,一旦安装它,您需要将-lunac添加到您的编译器选项(以告诉编译器与 unac 库链接)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM