2

regexkitlite用来在 xcode 中验证我的 iPhone 应用程序中的一些数据。

我正在进行一个发送 json 结果的 api 调用:

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

我如何使用正则表达式将其转换为:

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

我想用引号将每个“taskdate”键的值括起来。

编辑:添加 OP 的评论

这是我正在使用的:

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

其中 resultString 是包含“new Date(....”的字符串

4

1 回答 1

1

您可以使用正则表达式来识别文本中的文本位置,格式为“taskDate”:“newDate("September 23, 2011 00:00:00")”,但实际替换必须自己编写。正则表达式不会替换字符串,它会在字符串中查找模式。现在,为了找到"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"\). 从这里您可以指定月份,并在所有引号之间留出空格。所有这些更改使正则表达式更加复杂,因此只能使其更加严格以避免匹配您不想要的东西。如果不存在括号内可以包含其他内容的情况,我将使用第一个正则表达式。

也就是说,在您匹配内容中的字符串后,您需要编写代码以将其用引号括起来。

于 2012-01-19T05:35:53.133 回答