php处理文件的思考(去除每行多余字符)

第一种方式,数组处理

<?php
$str = file_get_contents(‘a.txt‘);
$arr = explode(PHP_EOL,$str);
$result = array();
foreach($arr as $v)
{
    $result[] = trim(substr($v,6));
}
$result = array_filter($result);
$text = ‘‘;
foreach($result as $v)
{
    $text .= $v.PHP_EOL;
}
file_put_contents(‘b.txt‘,$text);
?>

第二种方式,正则直接替换

<?php
$str = file_get_contents(‘a.txt‘);
$result = preg_replace(‘/\d+\.\s+/‘,‘‘,$str);
var_dump($result);
file_put_contents(‘c.txt‘,$result);
?>
时间: 2024-08-28 03:07:44

php处理文件的思考(去除每行多余字符)的相关文章

Matlab 读取dat文件(包含几行多余文本,数据带有数字和字符串,且以逗号分隔)

需要删除前几行多余文本,并去除逗号和最后一列标签项,保存数据 处理前: matlab代码: fid = fopen('E:\study\研究生\a\backup新\backup\数据库\ecoli1.dat','rt'); %FormatString='%f %f %f %f %f %f %f %s';%取前8列数据 FormatString='%f %f %f %f %f %f %f %*[^\n]';%取前七列数据,最后一列标签去掉 % 注意:%*[^\n] 就是从当前直接跳到行尾.%*是一

实例详细说明linux下去除重复行命令uniq

地址:http://blog.51yip.com/shell/1022.html 一,uniq干什么用的 文本中的重复行,基本上不是我们所要的,所以就要去除掉.linux下有其他命令可以去除重复行,但是我觉得uniq还是比较方便的一个.使用uniq的时候要注意以下二点 1,对文本操作时,它一般会和sort命令进行组合使用,因为uniq 不会检查重复的行,除非它们是相邻的行.如果您想先对输入排序,使用sort -u. 2,对文本操作时,若域中为先空字符(通常包括空格以及制表符),然后非空字符,域中

Shell命令学习 之,sort,unique 文件简单排序去除重复记录

经常会碰到文件里有重复记录的场景,要么去除重复记录,要么统计下重复记录数,这些简单的功能可以通过shell命令里的sort,uniq组合实现, 比如文件a.txt记录如下 test,test1,test2 test test1 test2 test,test1,test2 abcd edfg abcd ddddd 去除重复行: sort a.txt |uniq abcd ddddd edfg test test,test1,test2 test1 test2 查找非重复行 [[email pro

MFC 文件I/O和串行化

1.枚举所有文件夹(递归) void EnumerateFolders () { WIN32_FIND_DATA fd; HANDLE hFind = ::FindFirstFile (_T ("*.*"), &fd); if (hFind != INVALID_HANDLE_VALUE) { do { if (fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) { CString name = fd.cFileName; i

XP下,文件夹添加右键命令行

原文:XP下,文件夹添加右键命令行 总共有3种方式: --------------------1-------------------------------------------------------- 很多人都很喜欢在CMD命令行下来操作计算机,我也是其中之一.如何快速打开CMD并且定位到指定的路径呢?很多优化软件(比如优化大师)都提供了往右键菜单中加入“CMD快速通道”的功能,当右键点击文件夹时,就打开CMD并定位到该文件夹.网上也有修改注册表来实现的,其实根本不用这么麻烦. 打开“我

SQL语句技巧之去除重复行

去除表中重复行数据,可能大家立马就想到的是用DISINTCT关键字,但DISINTCT只能是去除表中所有列都相同的行,若碰到需要去除表中多个字段重复的行(即:部份相同,部份不相同),那么该如何做呢?我通过多年数据库编写经验,整理了如下方法,供大家参考和使用. 方法1:适用于返回较少字段 select F1,F2,F3,MAX(F4) FROM TABLENAME GROUP BY F1,F2,F3 方法2:适用于返回行所有字段,需指定不相同的字段 select * FROM TABLENAME

?快速删除大文件的前几行或后几行及快速获取大文件的n到m行数据

快速删除大文件的前几行或后几行 http://stackoverflow.com/questions/17330188/remove-first-n-lines-of-a-file-in-place-in-unix-command-line 快速获取大文件的n到m行数据 http://unix.stackexchange.com/questions/47407/cat-line-x-to-line-y-on-a-huge-file

DataTable去除重复行

//抽取dt中的特定列"Region","Cur","Year"组合成新的dat DataTable dat = dt.DefaultView.ToTable(false, new string[]{ "Region","Cur","Year" }); DataView dv = new DataView(w_dt); //虚拟视图吧,我这么认为 //去除dv中的重复行并组合成新的dt2

删除log文件末尾中指定的行数

/// <summary>        /// 删除log文件末尾中指定的行数        /// </summary>        /// <param name="file">文件路径</param>        /// <param name="line">删除的行数</param>        public static void deleteLogToLine(string