欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

字符串处理 - PHP怎样去除中间字符串

程序员文章站 2024-01-15 11:53:40
...
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,其他的程序完全不懂............

求高手指教。。。。。。。

用PHP处理小文件可以,文件大了还是用sed比较快
sed -i "s/T.*Z//g" test.txt

如果用正则匹配的话,可能注册的用户名中也有TZ字符,所以可以考虑字符串截取 毕竟T17:15:08Z,2016-06-16这一段的长度是固定的

用正则

$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
)
*/

$result = preg_replace("/T\d{2}:\d{2}:\d{2}Z/", " ", $str);

$str 是你的文本

谢谢各位,通过学习楼上诸位的代码,我自己学习加工了下:
全段代码如下:

\n";
        echo preg_replace('/\w\d\d\:\d\d\:\d\d\w/',"",$buffer)."
\n"; } if (! feof ( $handle )) { echo "Error: unexpected fgets() fail\n" ; } fclose ( $handle ); } ?>

基本上达到我要的目的了,再次感谢楼上各位的帮忙

相关标签: php 字符串处理