Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/112.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 查询日期及;使用Regex的NSString中的时间_Objective C_Ios_Nsstring_Regexkitlite - Fatal编程技术网

Objective c 查询日期及;使用Regex的NSString中的时间

Objective c 查询日期及;使用Regex的NSString中的时间,objective-c,ios,nsstring,regexkitlite,Objective C,Ios,Nsstring,Regexkitlite,我想做一些类似于这个问题的事情: 但是我想做这件事Objective-C。基本上,我希望从一个字符串中提取日期和时间,该字符串在@符号之后有一个日期和时间 例如,我有一个字符串:喂兔子@12,我想提取@之后的日期和时间,问题是字符串可以变化,例如它可以@12:00,@04/02/12,@04/02/12 12:00,@04/02/12:00,或者只是@04/02/12。这是我从字符串中提取数字的当前代码(它没有检测到“/”或“:”因此,如果字符串是@04/02/12,它将只提取@04,因为它停在

我想做一些类似于这个问题的事情:

但是我想做这件事
Objective-C
。基本上,我希望从一个字符串中提取日期和时间,该字符串在
@
符号之后有一个日期和时间

例如,我有一个字符串:
喂兔子@12
,我想提取
@
之后的日期和时间,问题是字符串可以变化,例如它可以
@12:00
@04/02/12
@04/02/12 12:00
@04/02/12:00
,或者只是
@04/02/12
。这是我从字符串中提取数字的当前代码(它没有检测到“/”或“:”因此,如果字符串是
@04/02/12
,它将只提取
@04
,因为它停在“/”)

我还可以使用这个正则表达式模式([0-9]+:[0-9][0-9])提取出
@12:00
部分

正则表达式“@(\d+”查找一个“@”后跟一个或多个数字(并仅捕获这些数字)。如果希望它查找数字和斜杠、破折号、冒号等,则需要在正则表达式中包含这些内容。如果要查找特定的数字和标点符号模式,则需要多个子表达式与“or”(即
|
字符)连接

预测所有可能的方式来表示日期和/或时间是一项艰巨的工作,特别是如果您想支持多个地区。您可能会发现,让正则表达式捕获“@”之后的任何内容(如果您不确定如何执行此操作,文档应该会有所帮助)。然后,您可以将字符串传递给,以便作为日期进行解析

NSString *regEx = @"@(\\d+)";

NSString *dateString;
r = [inputString rangeOfString:regEx options:NSRegularExpressionSearch];
if (r.location != NSNotFound) 
{
    dateString = [NSString stringWithFormat:@"%@",[inputString substringWithRange:r]];
    return dateString;
} 
else 
{
    return @"";
}