vim下处理文档中的\r\n\t字符
问题复现
拿到的文档中包含了大量的\r、\n、\t等字符,形如:
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n \r\n <title>历史账单</title>\r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n<script type="text/javascript" src="/pages/js/jquery-1.11.3.min.js"></script>\r\n<script type="text/javascript" src="/cms/up3/js/jquery.flashSlider-1.0.min.js"></script>\r\n<script type="text/javascript" src="/cms/up3/js/common.js"></script>\r\n<script type="text/javascript" src="/cms/up3/js/jcarousellite_1.0.1.js"></script>\r\n<script type="text/javascript" src="/cms/up3/js/jquery-mylazyload.js"></script>\r\n\r\n\r\n<script type="text/javascript">var ctx = "";</script>\r\n<script type="text/javascript">\r\n\tfunction $(element){\r\n\t\treturn element = document.getElementById(element);\r\n\t}\r\n\r\n\tfunction valiWhiteList(accnbr){\r\n\t\tvar rs;\r\n\t\tjQuery.ajax({\r\n\t\t\ttype : "POST",\r\n\t\t\turl : "/validateWhiteList.action",\r\n\t\t\tasync: false,\r\n\t\t\tdata : "accnbr="+accnbr,\r\n\t\t\tdataType : "text",\r\n\t\t\tsuccess : function(ret){\r\n\t\t\t\tvar values = jQuery.trim(ret);\r\n\t\t\t\tif(values=="0"){\r\n\t\t\t\t\trs = true;\r\n\t\t\t\t}else{\r\n\t\t\t\t\trs = false;\r\n\t\t\t }\r\n\t\t\t}\r\n\t\t});\r\n\t\treturn rs;\r\n\t}\r\n</script>\r\n\r\n\t\r\n\t\r\n\r\n\r\n\r\n\r\n\r\n<script type="text/javascript" src="/pages/js/jquery.js"></script>\r\n<script type="text/javascript" src="/pages/js/divselect.js"></script>\r\n\r\n\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t<script type="text/javascript" src="/pages/js/selfservice/feesquery/MyFeesQuery.js"></script>\r\n\r\n\r\n\r\n\r\n\r\n
看起来乱糟糟的,很不直观。
问题分析
简单的说是应该在Windows下与Linux下对换行的表示不一样导致的。详细的可以参考这篇文章linux下与windows下的换行符。这里不做过多的探究。我们只需要把这些字符替换成Linux中对应的表示即可。
问题解决
上面的问题多处于Linux机器上,我们使用Vim来进行处理。步骤如下:
- 把有如上问题的文档丢进
Vim编辑器 在
Vim中使用如下命令来处理\r\n,替换成正常的换行:1,$s/\\r\\n/\r/g同样的方式处理
\t,将至替换成四个空格:1,$s/\\t/ /g
方法详解
上面的解决方法是利用Vim的替换功能将字符替换成对应的正确的表示。其中:
1,$s/
表示从第一行到最后一行开始匹配,匹配的内容是后面的正则。
/\\r\\n/\r/g
这里是一个正则以及要替换的内容。遵循这样的格式:/要正则匹配的部分/要替换成的部分/g
参考资料
vim下处理文档中的\r\n\t字符的更多相关文章
- 详解在Word文档中常见的各种公式编辑问题
正常情况下,我们在安装完成MathType之后会直接加载在Word文档中,Word文档中的MathType比较复杂,新手操作遇到麻烦也是常有的事,今天就来给大家详解下Word文档中常见的MathTyp ...
- C# 在word文档中复制表格并粘帖到下一页中
C# 在word文档中复制表格并粘帖到下一页中 object oMissing = System.Reflection.Missing.Value; Microsoft.Offi ...
- MVC架构下,使用NPOI读取.DOCX文档中表格的内容
1.使用NPOI,可以在没有安装office的设备上读wiod.office.2.本文只能读取.docx后缀的文档.3.MVC架构中,上传文件只能使用form表单提交,转到控制器后要依次实现文件上传. ...
- Java解析word,获取文档中图片位置
前言(背景介绍): Apache POI是Apache基金会下一个开源的项目,用来处理office系列的文档,能够创建和解析word.excel.ppt格式的文档. 其中对word文档的处理有两个技术 ...
- 一个简易的Python爬虫,将爬取到的数据写入txt文档中
代码如下: import requests import re import os #url url = "http://wiki.akbfun48.com/index.php?title= ...
- Java课程课后作业190315之从文档中读取随机数并得到最大连续子数组
从我上一篇随笔中,我们可以得到最大连续子数组. 按照要求,我们需要从TXT文档中读取随机数,那在此之前,我们需要在程序中写入随机数 import java.io.File; import java.i ...
- 处理Word文档中所有修订
打开现有文档进行编辑 若要打开现有文档,您可以将 Word类实例化,如以下 using 语句所示. 为此,您可以使用Open(String, Boolean) 方法打开具有指定 fileName 的字 ...
- [No0000190]vim8安装教程和vim中文帮助文档Vimcdoc安装方法-Vim使用技巧(5)
Vim8.0是近十年来的一次大更新,支持任务.异步I/O.Channels和JSON以及异步计时器.Lambdas 和 Closures等,还包括对GTK + 3的支持.由于ubuntu默认安装的Vi ...
- php解析word,获得文档中的图片
背景 前段时间在写一个功能:用原生php将获得word中的内容并导入到网站系统中.因为文档中存在公式,图片,表格等,因此写的比较麻烦. 思路 大体思路是先将word中格式为doc的文档转化为docx, ...
随机推荐
- java模拟斗地主发牌看牌
import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; public class Dou ...
- super函数没有那么简单-super原理剖析
开始之前,先出一道题: #super函数探讨 class A(object): def __init__(self): print 'A.__init__' class B(A): def __ini ...
- 关于spingMVC使用时配置自动扫描出现的路径报错
com.lab –controller –service –dao –pojo <context:component-scan base-package=" " /> ...
- Cookie常用操作以及属性
概述 最近项目要用到cookie存储部分用户信息;研究了一下做一下分享 Cookie 是服务器保存在浏览器的一小段文本信息,每个 Cookie 的大小一般不能超过4KB.浏览器每次向服务器发出请求,就 ...
- JSON 理解
转自: http://blog.csdn.net/qyf_5445/article/details/8635578 (json很全面的理解) http://www.cnblogs.com/haitao ...
- 【★】深入BGP原理和思想【第…
前言:学思科技术我想说,浅尝辄止,不是天才千万别深钻.和我研究高等数学一样,越深入就会发现越多的问题与不合理之处.尤其对于IT界,算法的最终解释权还是掌握在老外手中,所以对于有些细节,我们" ...
- 转:面向切面编程AOP的理解
AOP AOP(Aspect Oriented Programming),即面向切面编程,可以说是OOP(Object Oriented Programming,面向对象编程)的补充和完善.OOP引入 ...
- 软件工程(GZSD2015)第二次作业小结
第二次作业,从4月7号开始,陆续开始提交作业.根据同学们提交的作业报告,相比第一次作业,已经有了巨大改变,大家开始有了完整的实践,对那些抽象的名词也开始有了直观的感受,这很好.然后有一些普遍存在的问题 ...
- 201521123082《Java程序设计》第3周学习总结
201521123082<Java程序设计>第3周学习总结 标签(空格分隔): Java 1.本周学习总结 XMind图: 2.书面作业 Q1.代码阅读 public class Test ...
- Swing-JOptionPane对话框用法-入门
对话框是GUI程序中常见的界面,通常用来反馈提示信息.告警或获取用户输入.比如这种: JOptionPane是Swing中的一个对话框类,它能够提供常见的绝大多数对话框效果,本文对这个类进行介绍.需要 ...