0 0

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

一个字符串里有换行符(不是\n),比如:

1234
5678
9000

我想把这个换行符替换成另外一个字符串("")得到字符串 "123456789000",在windows下是用 str.replaceAll("\r\n", "") 可以实现, 请问在linux下用java怎么实现啊?

问题补充:
langshao 写道
引用
注意,楼主是说“字符串”,我也是说“字符串”,我还没说"文件"


楼主之所以会问“在linux下用java怎么实现”,那是因为他在linux上遇到问题了,那就能得出楼主说的是“文件里的字符串”。

是的,是文件里的字符串,大哥,帮忙啊

问题补充:
langshao 写道
引用
是的,是文件里的字符串,大哥,帮忙啊


3 楼已经回答了。
str.replaceAll("\r", "").replaceAll("\n", "");  


这个不行,我试过了.
OO 
2011年1月06日 13:12

18个答案 按时间排序 按投票排序

0 0

采纳的答案

str.replaceAll("\r", "").replaceAll("\n", "");


这样写就windows和linux通用了。

2011年1月06日 13:28
0 0

str.replaceAll(System.getProperty("line.separator"),"")

试试上面的可以不

2011年1月06日 15:10
0 0

如果你想剔除 CR LF

str=str.replace("\r","").replace("\n","");


或者

str.replaceAll("\\r", "").replaceAll("\\n", "");  


这个事情我也不想和你争

2011年1月06日 14:04
0 0

windows下是用 str.replaceAll("\r\n", "") 可以实现

那么 linux 下用 str.replaceAll("\r", "").replaceAll("\n", "");  就能实现。

System.out.println("a\r\n\nb");  
System.out.println("a\r\n\nb".replaceAll("\r", "").replaceAll("\n", ""));


如果说不行,那是其他的问题。 你可以把整个相关代码贴出来看看。

2011年1月06日 13:56
0 0

str.replaceAll("\\r", "").replaceAll("\\n", "");  

2011年1月06日 13:54
0 0

引用
是的,是文件里的字符串,大哥,帮忙啊


3 楼已经回答了。
str.replaceAll("\r", "").replaceAll("\n", "");  

2011年1月06日 13:46
0 0

      linux和unix系统的换行是"\n",而windows的换行并不是直接的"n",是"\r\n"。所以out.write("\n")只能得到一个黑框,因为windos不认为这是个“换行”。 直接从记事本输入的话,windows自动输入了"\r\n",所以从从文本文件中读出来的也是"\r\n",可以正常显示。

      那么这是为什么呢?稍微学过正则表达式的朋友都知道:\r是回车符,而\n是换行符。Windows默认\n在文档中显示的是一个空格或者小黑框。所以,要先回车,再换行。

2011年1月06日 13:43
0 0

引用
replaceAll 和 replace 是不同的阿

replace是regex replace是 string


\r\n要变成 \\r\\n啊

以上的解答,含有replaceAll的都错了


试过才好说。
System.out.println("a\r\n\nb");
System.out.println("a\r\n\nb".replaceAll("\r", "").replaceAll("\n", ""));

2011年1月06日 13:41
0 0

引用
注意,楼主是说“字符串”,我也是说“字符串”,我还没说"文件"


楼主之所以会问“在linux下用java怎么实现”,那是因为他在linux上遇到问题了,那就能得出楼主说的是“文件里的字符串”。

2011年1月06日 13:38
0 0

replaceAll 和 replace 是不同的阿

replace是regex replace是 string


\r\n要变成 \\r\\n啊

以上的解答,含有replaceAll的都错了

2011年1月06日 13:36
0 0

引用
想替换linux上的文本文件的换行,就是和替换windows上的文本文件的换行不一样。


注意,楼主是说“字符串”,我也是说“字符串”,我还没说"文件"

2011年1月06日 13:33
0 0

public class Test {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		String str = "1234 \n\r\t\t\r\t   \n5678";
		System.out.println(str.replaceAll("\\s+", ""));
	}

}

2011年1月06日 13:32
0 0

引用
只要字符串一样,那么跟windows和linux没关系,处理方式一样str.replaceAll("\r\n", "")


想替换linux上的文本文件的换行,就是和替换windows上的文本文件的换行不一样。

2011年1月06日 13:31
0 0

linux不是'\n'么?没遇到过。不过我推荐你可以把每个char的byte打印出来,看看到底是什么,然后再进行replace。

2011年1月06日 13:30
0 0

只要字符串一样,那么跟windows和linux没关系,处理方式一样str.replaceAll("\r\n", "")

2011年1月06日 13:28
0 0

你题的意思应该是如何获取这个不可见的字符是什么吧。
是文件的话,可以hexdump看一下,
如果不是你就直接用java来取
str.getBytes,然后看一下第五个字节是什么,再替换。

2011年1月06日 13:28
0 0

str.replaceAll("\n", "")

linux的换行符只有 \n 。

2011年1月06日 13:26
0 0

简单的方法:
StringBuffer buf = new StringBuffer();

BufferedReader br = new BufferedReader(new FileReader("文件名"));

while ((line = br.readLine()) != null) {
    buf.append(line.trim());
}

// 你要的字符串
System.out.println(buf.toString());

2011年1月06日 13:26

相关推荐

    php去除换行(回车换行)的三种方法

    //linux 与unix中用 \n //MAC 用 \r //window 为了体现与linux不同 则是 \r\n //所以在不同平台上 实现方法就不一样 //php 有三种方法来解决 //1、使用str_replace 来替换换行 $str = str_replace(array(“\r\...

    Windows和Linux换行规则的区别

    在计算机还没有出现之前,有一种叫做电传打字机...另一个叫做换行(Linefeed),告诉打字机把纸向下移一行。  这是换行和回车的来历,从它们的英语名字上也可以看出一二。  后来,计算机发明了,这两个概念也被般到

    php 空格,换行,跳格使用说明

    首先说说\n,\r,\t \n 软回车: 在Windows 中表示换行且回到下一行的最开始位置 在Linux、unix 中只表示换行,但不会回到下一行的开始位置。 \r 软空格: 在Linux、unix 中表示返回到当行的最开始位置。 在Mac OS 中...

    C++读取到回车换行符问题处理

    今天在编写99乘法在线小游戏(看过我的 linux下c实现的数据库备份(第四版)应该知道我在那里提过^.^)的时候遇到读取文件的信息遇到回车换行符的烦恼。 比如我文件里面有如下信息: name=qizexi sex=man 我希望读取...

    去除数据中字符串的换行符;解决ETL中字符串换行符;ORACLE|DB2

    - - 使用此工具,必须有明确的行分隔符标记,且换行符标记不可在字符串中出现。否则无法使用,需要修改匹配搜索方式 ### 工具效率: 亲测200M文件5s中完成转换。 ### 使用示例: Windows: go_readfileline.exe...

    sqluldr2(windows+linux 32+64)

     record 分隔符 指定记录分隔符,默认为回车换行,Windows下的换行  quote 引号符 指定非数字字段前后的引号符  例如现在要改变默认的字段分隔符,用“#”来分隔记录,导出的命令如下所示:  sqluldr2 test/test...

    Linux正则表达式特性详解及BRE与ERE的异同点

    Linux正则表达式(Regular Expression)主要遵从POSIX BRE或者POSIX ... 2)非打印字符,包括TAB,回车,换行,回车换行(WINDOWS)  3)任意字符.  4)字符集,包括单词型字符([[:alnum:]]),非单词型字符([^[:a

    php去除字符串换行符示例分享

    下面进行相关说明:首先说说 n,r,tn 软回车:在Windows中表示换行且回到下一行的最开始位置在Linux/unix中只表示换行,但不会回到下一行的开始位置r 软空格:在Linux/unix 中表示返回到当行的最开始位置在Mac OS中表示...

    linux C 打印错误信息和标准输入输出详细介绍

    Linux 使用strerror 和 perror 函数来打印响应的错误信息 ,这两个函数的标准调用格式说明如下: #include char *strerror(int ...“由msg指针指向的字符串” + “:” + errno + “回车换行” #include #include #

    Linux-0.11 [内核源代码带中文注释]

    在显示一些信息('Loading system ...'回车换行,共24 个字符)。 mov ah,#0x03 ! read cursor pos xor bh,bh ! 读光标位置。 int 0x10 mov cx,#24 ! 共24 个字符。 mov bx,#0x0007 ! page 0, attribute 7 (normal)...

    php中\r \r\n \t的区别示例介绍

    \n 软回车: 在Windows 中表示换行且回到下一行的最开始位置。相当于Mac OS 里的 \r 的效果。 在Linux、unix 中只表示换行,但不会回到下一行的开始位置。 \r 软空格: 在Linux、unix 中表示返回到当行的最开始位置...

    WINCVS和CVSNT安装包

    类似 -ko 选项,并阻止换行字符的转换,这种转换是因为换行符在仓库(只是换行) 的形式与客户机使用的操作系统不同。对有些系统,比如 Unix,换行符就是行中止符,这样就和 -ko 没什么区别。关于二进制文件的更多...

    cmd操作命令和linux命令大全收集

    例如“DEL/AR *.*”表示删除当前目录下所有只读文件,“DEL/A-S *.*”表示删除当前目录下除系统文件以外的所有文件 del /S /Q 目录 或用:rmdir /s /Q 目录 /S删除目录及目录下的所有子目录和文件。同时使用参数/Q ...

    盲文印刷机

    BR \ n:表示回车换行; 下位机实质是c语言控制gpio的程序,与树莓派一体,主要传1个参数: arg1:仲裁txt文件; 去做 设备。硬件的设计,应增加批量打印功能,初步想法根据活字印刷和圆珠笔笔芯的探入切换功能,...

    解析PHP处理换行符的问题 \r\n

    在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33,Linux/Unix下的tty概念也来自于此)的玩意,每秒钟可以打10个字符。但是它有一个问题,就是打完一行换行的时候,要用去0.2秒,正好可以打两个...

    2009 达内Unix学习笔记

    \ 表示未写完,回车换行再继续。 * 匹配零个或者多个字符。 ? 匹配一个字符。 [] 匹配中括号里的内容[a-z][A-Z][0-9]。 ! 事件。 $ 取环境变量的值。 | 管道。把前一命令的输出作为后一命令的输入,把几个...

    易语言程序免安装版下载

    修改BUG:VCL相关支持库部分组件在修改个别属性或调用个别方法后不可见,并改进了Delphi版本的支持库SDK。 15. 修改BUG:高级表格在列类型为数值型时,添加新行且省略标题的情况下,会导致程序异常。 16. 修改BUG...

    单片机 串口、网口、蓝牙通讯调试助手V1.8

    (1)发送数据支持回车换行 (2)修正了C51代码向导的BUG ===================================================== 2011-03-31 (1)修改了清空发送和清空接收的BUG =============================================...

Global site tag (gtag.js) - Google Analytics