iOS: изменение или замена позиций подстроки по индексу в NSMutableString

#ios #objective-c #nsarray #nsmutablestring

#iOS #objective-c #nsarray #nsmutablestring

Вопрос:

Я пытаюсь изменить или поменять местами позицию подстроки. Я знаю, что вы можете сделать это с помощью NSMutableArray следующим образом:

 [myMutableArray exchangeObjectAtIndex:(20) withObjectAtIndex:30];
  

Кто-нибудь из вас знает, есть ли что-то подобное для NSMutableString?

Комментарии:

1. Что вы пробовали? Вы просмотрели документацию для NSString ? Знаете ли вы об основных алгоритмах, таких как замена значений 2 элементов массива? Вам действительно нужно, чтобы Apple написала это для вас?

Ответ №1:

Нечто подобное с NSMutableString будет использовать deleteCharacters(in:) и insert(at:), что не так просто. Для примера (я не знаю Obj-C, но в Swift), это было бы что-то вроде:

 var myTestString: NSMutableString = "itIsATestString"
let mySubStringRange = myTestString.range(of: "Test")
myTestString.deleteCharacters(in:mySubStringRange)
myTestString.insert("Test", at: 2)
  

Ответ №2:

У вас есть 2 варианта:

 theChar = [ myString characterAtIndex:4 ];
newString = [ NSString stringWithCharacters:amp;theChar length:1 ];
  

или, избегая characterAtIndex : alltogether, но по-прежнему используя один выбранный символ:

 newString = [ myString substringWithRange:NSMakeRange( 4, 1 ) ];