2012-01-19 4 views
2

Я использую regexkitlite для проверки некоторых данных в приложении iPhone в xcode.Как я могу использовать regex для размещения котировок вокруг оператора

Я делаю вызов апи, который посылает JSon результат:

"taskDate": newDate("September 23, 2011 00:00:00") 

Как я могу использовать регулярное выражение, чтобы преобразовать его в:

"taskDate": "newDate("September 23, 2011 00:00:00")" 

Я хочу, чтобы окружить значение каждого " taskdate "с кавычками.

Edit: Добавление комментария OP в

Вот что я использую:

[resultString replaceOccurrencesOfRegex:@"new Date((.*?)\")," withString:@"\"\"," range:NSMakeRange(0, [resultString length])]; 

где resultString является строка, содержащая "новый Date (...."

ответ

1

You может использовать regex, чтобы определить, где в тексте есть текст в формате «taskDate»: «newDate (« 23 сентября 2011 00:00:00 »)», но фактическая замена вам придется писать самостоятельно. Regex doesn ' t заменить строки, он находит узоры w в строке. Теперь для того, чтобы найти картину "taskDate": newDate("<anything can go here>") вы можете использовать

"taskDate"\: newDate\(".*?"\) 

Если это возможно, чтобы иметь что-то еще внутри круглых скобок, вы должны быть более конкретными и только указать дату внутри:

"taskDate"\: newDate\("[a-zA-z]* \d{2}, \d{4} \d{2}\:\d{2}\:\d{2}"\) 

Это будет соответствовать всем вещам "taskDate"\: newDate\("Letters 00, 00:00:00"\). Отсюда вы можете сделать месяцы конкретными и разрешить пробелы между всеми цитатами. Все эти изменения делают регулярное выражение более сложным, поэтому только сделайте его более строгим, чтобы избежать совпадения вещей, которые вам не нужны. Если сценарий не существует, что что-то еще может быть внутри скобки, я бы пошел с первым регулярным выражением.

Таким образом, после того, как вы сопоставляете строку в своем контенте, вам нужно написать код, чтобы окружить его котировками.

+0

Я заметил, что вы упомянули, что регулярное выражение не заменяет строки. Я использую regexkitlite для iOS, и у него есть функция «replaceoccurencesofregex». Вот что я использую: [resultString replaceOccurrencesOfRegex: @ "new Date ((. *?) \"), "WithString: @" \ "\", "range: NSMakeRange (0, [resultString length])] , где resultString - это строка, содержащая «новую дату» (.... « – bakwarte

+0

. Я не знаком с regexkitlite или с iOS вообще :) Затем используйте функцию замены, которую он имеет с регулярным выражением, которое я написал. вам нужна дополнительная помощь :) – apines

+0

Как извлечь часть «<все может пойти здесь>», поэтому я могу переписать ее с новой даты (033333) на «новая дата (033333)»? – bakwarte

Смежные вопросы