6691.club,已经注册,2015-06-17T17:15:08Z,2016-06-16
6688.club,已经注册,2014-05-07T15:02:16Z,2016-05-06
6689.club,已经注册,2015-06-10T06:03:05Z,2016-06-09
6695.club,已经注册,2015-06-10T14:32:14Z,2016-06-09
6694.club,已经注册,2015-11-08T15:01:24Z,2016-11-07
6693.club,已经注册,2015-06-17T17:20:25Z,2016-06-16
6692.club,已经注册,2015-06-17T17:14:43Z,2016-06-16
6690.club,已经注册,2015-06-22T08:43:14Z,2016-06-21
6605.club,已经注册,2015-06-25T08:43:19Z,2016-06-24
6606.club,已经注册,2015-05-07T15:56:01Z,2016-05-06
6603.club,已经注册,2015-06-25T08:43:17Z,2016-06-24
6604.club,已经注册,2015-11-09T09:13:15Z,2016-11-08
6681.club,已经注册,2015-06-17T13:44:15Z,2016-06-16
6608.club,已经注册,2015-06-10T09:27:52Z,2016-06-09
6607.club,已经注册,2015-06-25T08:43:21Z,2016-06-24
6682.club,已经注册,2015-06-17T15:43:28Z,2016-06-16
这样的,我希望去除T15:43:28Z这段,规律是T开头,Z结尾.
我机器上只有PHP环境,看得点东PHP,其他的程序完全不懂............
求高手指教。。。。。。。
6691.club,已经注册,2015-06-17T17:15:08Z,2016-06-16
6688.club,已经注册,2014-05-07T15:02:16Z,2016-05-06
6689.club,已经注册,2015-06-10T06:03:05Z,2016-06-09
6695.club,已经注册,2015-06-10T14:32:14Z,2016-06-09
6694.club,已经注册,2015-11-08T15:01:24Z,2016-11-07
6693.club,已经注册,2015-06-17T17:20:25Z,2016-06-16
6692.club,已经注册,2015-06-17T17:14:43Z,2016-06-16
6690.club,已经注册,2015-06-22T08:43:14Z,2016-06-21
6605.club,已经注册,2015-06-25T08:43:19Z,2016-06-24
6606.club,已经注册,2015-05-07T15:56:01Z,2016-05-06
6603.club,已经注册,2015-06-25T08:43:17Z,2016-06-24
6604.club,已经注册,2015-11-09T09:13:15Z,2016-11-08
6681.club,已经注册,2015-06-17T13:44:15Z,2016-06-16
6608.club,已经注册,2015-06-10T09:27:52Z,2016-06-09
6607.club,已经注册,2015-06-25T08:43:21Z,2016-06-24
6682.club,已经注册,2015-06-17T15:43:28Z,2016-06-16
这样的,我希望去除T15:43:28Z这段,规律是T开头,Z结尾.
我机器上只有PHP环境,看得点东PHP,其他的程序完全不懂............
求高手指教。。。。。。。
<code><?php $content = "xxxxx"; //你的内容 $result = preg_replace("/T.*Z/i","",$content); echo $result; </code></code>
用PHP处理小文件可以,文件大了还是用sed比较快sed -i "s/T.*Z//g" test.txt
如果用正则匹配的话,可能注册的用户名中也有TZ字符,所以可以考虑字符串截取 毕竟T17:15:08Z,2016-06-16
这一段的长度是固定的
用正则
<code>$subject = '6691.club,已经注册,2015-06-17T17:15:08Z,2016-06-16'; $pattern = '/(.*,[\d]{4}-[\d]{2}-[\d]{2})T[\d:]{8}Z(,[\d]{4}-[\d]{2}-[\d]{2}$)/'; preg_match($pattern, $subject, $matches); print_r($matches); /* Array ( [0] => 6691.club,已经注册,2015-06-17T17:15:08Z,2016-06-16 [1] => 6691.club,已经注册,2015-06-17 [2] => ,2016-06-16 ) */</code>
<code>$result = preg_replace("/T\d{2}:\d{2}:\d{2}Z/", " ", $str); $str 是你的文本</code>
谢谢各位,通过学习楼上诸位的代码,我自己学习加工了下:
全段代码如下:
<code><?php $handle = @fopen ("4.txt","r" ); if ( $handle ) { while (( $buffer = fgets ($handle ,4096 )) !== false ) { // echo $buffer."<br>\n"; echo preg_replace('/\w\d\d\:\d\d\:\d\d\w/',"",$buffer)."<br>\n"; } if (! feof ( $handle )) { echo "Error: unexpected fgets() fail\n" ; } fclose ( $handle ); } ?> </code>
基本上达到我要的目的了,再次感谢楼上各位的帮忙