Эти параметры больше предназначены для разбора аргументов URL, который вы пытаетесь сделать.
1. Диапазон поиска: по слову, символу
самый эффективный, но может быть разборчивым в написании ... (и читать!)
См. rangeOfString:
и его друзей по документации NSString
2. Split
быстро и элегантно писать, но не так эффективно
Поскольку это строка в стиле аргумента URL, ее легко разобрать, разделив на &
и =
, что можно легко сделать с помощью componentsSeparatedByString:
или componentsSeparatedByCharactersInSet:
3. Регулярные выражения
чистый код, мощный
Регулярные выражения являются лучшим выбором для манипулирования текстом, но их может быть сложнее использовать / изучать, чем предыдущие решения. Для использования регулярных выражений я предлагаю два варианта:
iPhone OS> = 3.2 имеет регулярные выражения:
NSString rangeOfString:options:NSRegularExpressionSearch
Но это близко к варианту 1.
- RegexKitLit , с отличным механизмом регулярных выражений на OSX / iOS, предоставит, imho, лучшее и наиболее мощное решение вашей проблемы (и многих других !!!) ...
4. Другие комплекты / API / SDK
отсутствует API / инструментарий / SDK? не пишите код, тысячи людей уже написали ...
- Я хотел бы, чтобы
NSURL
поддерживал аргументы URL для анализа и построения URL-адресов ... но это не так.
- Я не знаю хорошей библиотеки разбора URL / набора инструментов, которая бы предлагала такие инструменты манипулирования аргументами URL (Google Toolbox не предоставляет такие инструменты аргументов URL за исключением экранирования , которое уже действительно полезно), но я ' я уверен, что существует! И хорошая библиотека с проверенным и надежным кодом наверняка станет вашим лучшим решением ...
5. Другие ... их много
Я забыл упомянуть NSScanner
, который я никогда не изучал (плохо меня)
В общем, Интересна документация Apple по этой теме .