web-dev-qa-db-fra.com

Remplacer les occurrences de NSString - iPhone

J'ai une longue chaîne NSString dans laquelle j'essaie de remplacer les caractères spéciaux. Une partie de ma chaîne ressemble à ceci:

"veau (c\u00f4telette)","veau (filet)","agneau (gigot)","agneau (c\u00f4telette)","b**\u0153**uf (hach\u00e9)","porc (hach\u00e9)"

Je voudrais remplacer tous les\u0153 par "oe". J'ai essayé:

[response stringByReplacingOccurrencesOfString:@"\u0153" withString:@"oe"];

mais ça ne marche pas .... Je ne comprends pas pourquoi!

33
ncohen

La barre oblique inverse est un caractère d'échappement , donc si vous souhaitez spécifier le caractère de barre oblique inverse réelle dans un littéral de chaîne, vous devez utiliser deux barres obliques inverses.

NSString *new = [old stringByReplacingOccurrencesOfString: @"\\u0153" withString:@"oe"];
79
Josh Freeman

NSString est immuable, donc la fonction génère une nouvelle chaîne que vous devez stocker:

NSString *new = [old stringByReplacingOccurrencesOfString:@"\u0153" withString:@"oe"];
7
eWolf