php – 关于如何解析这个数据集的任何优雅想法?
发布时间:2020-12-13 21:39:20 所属栏目:PHP教程 来源:网络整理
导读:我正在使用 PHP 5.3从Web服务调用接收数据集,该调用返回一个或多个事务的信息.每个事务的返回值由管道(|)分隔,事务的开始/结束由空格分隔. 2109695|49658|25446|4|NSF|2010-11-24 13:34:00Z 2110314|45276|26311|4|NSF|2010-11-24 13:34:00Z 2110311|52117|2
我正在使用
PHP 5.3从Web服务调用接收数据集,该调用返回一个或多个事务的信息.每个事务的返回值由管道(|)分隔,事务的开始/结束由空格分隔.
2109695|49658|25446|4|NSF|2010-11-24 13:34:00Z 2110314|45276|26311|4|NSF|2010-11-24 13:34:00Z 2110311|52117|26308|4|NSF|2010-11-24 13:34:00Z (etc) 由于日期时间戳中的空格,对空间进行简单拆分不起作用.我知道正则表达式很好,知道总有不同的方法来打破这个,所以我想得到一些专家的意见将帮助我提出最密不透的正则表达式. 解决方法
如果每个时间戳最后都有一个Z,你可以使用正向后向断言来分割空间,只有当它前面有一个Z时:
$transaction = preg_split('/(?<=Z) /',$input); 获得交易后,您可以将它们拆分为|获得个别零件. Codepad link 请注意,如果您的数据的Z后跟一个除时间戳之外的其他位置的空格,则上述逻辑将失败.为了克服这个问题,只有在时间戳模式之前才能分割空间: $transaction = preg_split('/(?<=dd:dd:ddZ) /',$input); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |