我想改变一个句子,例如:

Être ou ne pasêtre.C'tait lábas.

将成为:

是的.来吧.

有没有什么简单的方法可以用NSString实现这一点?还是我必须通过判断每个字符来自己开发?

推荐答案

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代替.

此处列出了编码类型:

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


这里有一个单行的方法来写这个伟大的答案:

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

Objective-c相关问答推荐

使用 CALayer 时无法编译代码

UIRefreshControl iOS 6 xcode

如何使用 Cocoa 创建临时文件?

xcode 未知类型名称

如何将 UISlider 垂直放置?

如何连续关闭 2 个模态视图控制器?

在Objective-C中从类名的NSString创建对象

额外的 75 秒从何而来?

如何调整 UIModalPresentationFormSheet 的大小?

Objective C const NSString * vs NSString * const

.delegate=self 是什么意思?

如何删除应用程序指定目录中的所有文件?

在 iPhone 上测量人体胀气( Human-Flatulence)传播波包

Obj-C 中的多值枚举

如何在 iPhone SDK 中使用自定义字体?

当表格重新出现时,UITableView 不会自动取消 Select 选定的行

如何在 Objective-C 中将 NSString 解析为 BOOL?

有没有办法在不使用 UINavigationController 的情况下更改 Storyboard 中 UINavigationBar 的高度?

如何将 tintColor 应用于 UIImage?

Foo 类在 MyApp 和 MyAppTestCase 中都实现了.将使用两者之一.哪个是未定义的