问题描述
一个字符串里有换行符(不是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());