NSString :从字符串中删除 UTF-8 重音的简单方法? [英] NSString : easy way to remove UTF-8 accents from a string?

查看:25
本文介绍了NSString :从字符串中删除 UTF-8 重音的简单方法?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想换一句,例如:

Être ou ne pas être.C'était là-bas.

Être ou ne pas être. C'était là-bas.

会变成:

结束了.C'etait la-bas.

Etre ou ne pas etre. C'etait la-bas.

有没有什么简单的方法可以用 NSString 做到这一点?还是我必须通过检查每个字符来自己开发它?

Is there any easy way to do this with NSString? Or do I have to develop this on my own by checking each char?

推荐答案

NSString *str = @"Être ou ne pas être. C'était là-bas.";
NSData *data = [str dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];
NSString *newStr = [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding];
NSLog(@"%@", newStr);

... 或者尝试使用 NSUTF8StringEncoding 代替.

... or try using NSUTF8StringEncoding instead.

这里的编码类型列表:

https://developer.apple.com/documentation/foundation/nsstringencoding

只是 FTR 这是写这个很棒的答案的一种单行方式:

Just FTR here's a one line way to write this great answer:

yourString = [[NSString alloc]
  initWithData:
    [yourString dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES]
  encoding:NSASCIIStringEncoding];

这篇关于NSString :从字符串中删除 UTF-8 重音的简单方法?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆