У меня возникла проблема, когда мне нужно инвертировать два символа внутри строки. Например, если моя строка «a * b/c», и я хочу заменить вхождения * с помощью/и/с *. Я хочу, чтобы результирующая строка была «a/b * c».Заменить вхождения двух символов друг в друга в строке
Используя метод stringByReplacingOccurrenceOfString:
не работает, потому что я не хочу, чтобы первый раунд замен, чтобы повлиять на второй:
string = @"a*b/c";
[string stringByReplacingOccurrencesOfString:@"*" withString:@"/"];
[string stringByReplacingOccurrencesOfString:@"/" withString:@"*"];
Это приводит к «а * Ь * С», который не то, что есть Я хочу. Кто-нибудь знает эффективный способ достижения этого?
Хм, славная попытка. Что, если у него есть другие символы '&' в этой строке в первую очередь? –
Мне нравится это как решение, при котором нет необходимости использовать «&»/«другой произвольный символ» –
Если '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' как 'tHiS_sTrInG_wIlL_nEvEr_OcCuR_iN_mY_sTrInG' –