linux下如何替换不可见的回车换行字符

问题描述

一个字符串里有换行符(不是n),比如:123456789000 我想把这个换行符替换成另外一个字符串("")得到字符串 "123456789000",在windows下是用 str.replaceAll("rn", "") 可以实现, 请问在linux下用java怎么实现啊? 问题补充:langshao 写道

解决方案

str.replaceAll("r", "").replaceAll("n", "");这样写就windows和linux通用了。
解决方案二:
str.replaceAll(System.getProperty("line.separator"),"")试试上面的可以不
解决方案三:
如果你想剔除 CR LFstr=str.replace("r","").replace("n","");或者str.replaceAll("\r", "").replaceAll("\n", ""); 这个事情我也不想和你争
解决方案四:
windows下是用 str.replaceAll("rn", "") 可以实现那么 linux 下用 str.replaceAll("r", "").replaceAll("n", ""); 就能实现。System.out.println("arnnb"); System.out.println("arnnb".replaceAll("r", "").replaceAll("n", ""));如果说不行,那是其他的问题。 你可以把整个相关代码贴出来看看。
解决方案五:
str.replaceAll("\r", "").replaceAll("\n", "");
解决方案六:
引用是的,是文件里的字符串,大哥,帮忙啊3 楼已经回答了。str.replaceAll("r", "").replaceAll("n", "");
解决方案七:
linux和unix系统的换行是"n",而windows的换行并不是直接的"n",是"rn"。所以out.write("n")只能得到一个黑框,因为windos不认为这是个“换行”。 直接从记事本输入的话,windows自动输入了"rn",所以从从文本文件中读出来的也是"rn",可以正常显示。 那么这是为什么呢?稍微学过正则表达式的朋友都知道:r是回车符,而n是换行符。Windows默认n在文档中显示的是一个空格或者小黑框。所以,要先回车,再换行。
解决方案八:
引用replaceAll 和 replace 是不同的阿 replace是regex replace是 string rn要变成 \r\n啊 以上的解答,含有replaceAll的都错了试过才好说。System.out.println("arnnb");System.out.println("arnnb".replaceAll("r", "").replaceAll("n", ""));
解决方案九:
引用注意,楼主是说“字符串”,我也是说“字符串”,我还没说"文件"楼主之所以会问“在linux下用java怎么实现”,那是因为他在linux上遇到问题了,那就能得出楼主说的是“文件里的字符串”。
解决方案十:
replaceAll 和 replace 是不同的阿replace是regex replace是 string rn要变成 \r\n啊以上的解答,含有replaceAll的都错了
解决方案十一:
引用想替换linux上的文本文件的换行,就是和替换windows上的文本文件的换行不一样。注意,楼主是说“字符串”,我也是说“字符串”,我还没说"文件"
解决方案十二:
public class Test {/** * @param args */public static void main(String[] args) {String str = "1234 nrttrt n5678";System.out.println(str.replaceAll("\s+", ""));}}
解决方案十三:
引用只要字符串一样,那么跟windows和linux没关系,处理方式一样str.replaceAll("rn", "")想替换linux上的文本文件的换行,就是和替换windows上的文本文件的换行不一样。
解决方案十四:
linux不是'n'么?没遇到过。不过我推荐你可以把每个char的byte打印出来,看看到底是什么,然后再进行replace。
解决方案十五:
只要字符串一样,那么跟windows和linux没关系,处理方式一样str.replaceAll("rn", "")
其他方案:
你题的意思应该是如何获取这个不可见的字符是什么吧。是文件的话,可以hexdump看一下,如果不是你就直接用java来取str.getBytes,然后看一下第五个字节是什么,再替换。
其他方案:
str.replaceAll("n", "")linux的换行符只有 n 。
其他方案:
简单的方法:StringBuffer buf = new StringBuffer();BufferedReader br = new BufferedReader(new FileReader("文件名"));while ((line = br.readLine()) != null) { buf.append(line.trim());}// 你要的字符串System.out.println(buf.toString());

时间: 2025-01-30 14:47:58

linux下如何替换不可见的回车换行字符的相关文章

Linux下vi替换字符命令操作实例

http://blog.csdn.net/zhouzhaoxiong1227/article/details/28657665 在Linux下的开发中,经常涉及到对文件中的字符进行处理,其中,对字符的替换操作也是非常的频繁.         本文以一个实际的文件为例,详细介绍了Linux下常用的vi替换字符命令,为相关的开发工作提供给了参考.           本文中被操作的文件为TestFile.txt,其中的内容如下:         zhou@linux:~/zhouzx/Test> c

Linux下vi替换字符命令例子

在Linux下的开发中,经常涉及到对文件中的字符进行处理,其中,对字符的替换操作也是非常的频繁. 本文以一个实际的文件为例,详细介绍了Linux下常用的vi替换字符命令,为相关的开发工作提供给了参考. 本文中被操作的文件为TestFile.txt,其中的内容如下: zhou@linux:~/zhouzx/Test> cat TestFile.txt 12345678907890 ABCDABCDEFGHIJ 12345^&*()() 98765432103210 abcdabcdefghij

linux下批量替换文件内容的方法

  对于单个文件,使用sed命令很容易做到.如果需要替换某个指定文件夹下所有文件,借助grep和sed组合成一条命令也可以轻松搞定. grep命令可以查找单个文件或文件夹下文件中的内容,使用参数"r"或"-R"可以递归查找指定文件夹下的所有文件;参数"l"可以让grep输出包含指定字符串的文件名,首次匹配成功后立刻停止对同文件的查询.如果不使用"l",grep查询单个文件时输出文件中所有包含指定字符串的行,对文件夹查询时则按照

linux下批量替换文件中的内容

  grep命令可以查找单个文件或文件夹下文件中的内容,使用参数"r"或"-R"可以递归查找指定文件夹下的所有文件;参数"l"可以让grep输出包含指定字符串的文件名,首次匹配成功后立刻停止对同文件的查询.如果不使用"l",grep查询单个文件时输出文件中所有包含指定字符串的行,对文件夹查询时则按照"文件名:包含字符串行"的方式输出. 有了上面提到的知识,执行批量替换的命令可以写为: grep "

Linux下Vi替换命令用法练习

环境 RedHat Linux 9 + VWWare 8.0 + SSH 3.2.9 问题 假设有一个CSV(comma separated value)文件,里面有一些我们需要的信息 ,但是格式却有问题,目前数据的列顺序是: 姓名,公司名,州名缩写,邮政 编码,现在我们希望讲这些数据重新组 织,以便在我们的某个软件中使用, 需要的格式为:姓名,州名缩写-邮政编码,公司名. 也就是说,我们要调整 列顺序,还要合并两个列来构成一个新列.另外, 我们的软件不能接受逗号前后 面有任何空格(包括空格和制

linux下perl,sed,shell批量替换文件内容

  方法1: 这两天在构建一个应用的使用用到了maven,由于project很大,足足有700多个 pom.xml文件,更郁闷的是在很多pom.xml文件里都单独指定了资源库的url,我需要把这些资源库的url统一指定到nexus本地中央库. 手 工一个个改文件配置有点不太实际,所以google了一下,找到批量替换文件内容的好方法,命令结构如下: find -name '要查找的文件名' | xargs perl -pi -e 's|被替换的字符串|替换后的字符串|g'下面这个例子就是将当前目录

Linux下rar及zip压缩包中批量替换某文件脚本

本需求是自己负责的一个生产系统上,有大量以zip和rar结尾的压缩文件散落在文件系统的各个文件夹,先在需要把压缩包里包含某一个特定文件(如tftpd32.exe或Tftpd32.exe,版本较旧),全都替换成比较新的tftpd32.exe版本.压缩文件总数约5000个,需要替换的数量约1500个. 因为是生产环境,不敢轻易乱动,所以脚本考虑的因素就非常多,不允许中间执行过程出现异常,所以找到文件后实际执行替换操作之前做好备份,并且将操作过程记录日志. 以下几点需要考虑: 分别处理zip和rar文

《Linux指令从入门到精通》——4.2 Linux下的简单文字模式文本编辑器

4.2 Linux下的简单文字模式文本编辑器 Linux下的文本编辑器种类很多,功能的复杂程度和操作的难易度也不尽相同.在此我们将其大致分为可视和不可视两种.在本节中讲解的ed,jed,joe,pico和sed都属于不可视编辑器,不能进行全屏方式下的操作,操作相对简单.但可视编辑器的交互功能更好,典型的可视编辑器有vi和emacs,这将在下一节中讲述. 4.2.1 ed指令:简单的行文本编辑器 理解行编辑的概念,掌握ed指令进行简单的行文本编辑的方法 ed [参数] [文件名] ed指令是Lin

linux下C++开发工具

就C++开发工具而言,与Windows下微软(VC, VS2005等)一统天下相比,Linux/Unix下C++开发,可谓五花八门,各式各样.Emacs, vi, eclipse, anjuta,kdevelop等层出不穷.Windows下,开发工具多以集成开发环境IDE的形式展现给最终用户.例如,VS2005集成了编辑器,宏汇编ml,C /C++编译器cl,资源编译器rc,调试器,文档生成工具, nmake.它们以集成方式提供给最终用户,对于初学者而言十分方便.但是,这种商业模式,直接导致用户