-
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", "");
这个不行,我试过了.2011年1月06日 13:12
18个答案 按时间排序 按投票排序
-
采纳的答案
str.replaceAll("\r", "").replaceAll("\n", "");
这样写就windows和linux通用了。2011年1月06日 13:28
-
str.replaceAll(System.getProperty("line.separator"),"")
试试上面的可以不2011年1月06日 15:10
-
如果你想剔除 CR LF
str=str.replace("\r","").replace("\n","");
或者
str.replaceAll("\\r", "").replaceAll("\\n", "");
这个事情我也不想和你争2011年1月06日 14:04
-
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
-
引用是的,是文件里的字符串,大哥,帮忙啊
3 楼已经回答了。str.replaceAll("\r", "").replaceAll("\n", "");
2011年1月06日 13:46
-
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
-
引用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
-
引用注意,楼主是说“字符串”,我也是说“字符串”,我还没说"文件"
楼主之所以会问“在linux下用java怎么实现”,那是因为他在linux上遇到问题了,那就能得出楼主说的是“文件里的字符串”。2011年1月06日 13:38
-
replaceAll 和 replace 是不同的阿
replace是regex replace是 string
\r\n要变成 \\r\\n啊
以上的解答,含有replaceAll的都错了2011年1月06日 13:36
-
引用想替换linux上的文本文件的换行,就是和替换windows上的文本文件的换行不一样。
注意,楼主是说“字符串”,我也是说“字符串”,我还没说"文件"2011年1月06日 13:33
-
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
-
引用只要字符串一样,那么跟windows和linux没关系,处理方式一样str.replaceAll("\r\n", "")
想替换linux上的文本文件的换行,就是和替换windows上的文本文件的换行不一样。2011年1月06日 13:31
-
你题的意思应该是如何获取这个不可见的字符是什么吧。
是文件的话,可以hexdump看一下,
如果不是你就直接用java来取
str.getBytes,然后看一下第五个字节是什么,再替换。2011年1月06日 13:28
-
简单的方法:
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
相关推荐
换行(Line Feed),用字符`\n`表示,它的作用是将光标向下移动一行,但不改变列的位置。在电传打字机中,这相当于纸张向下移动一行,以便开始新的一行打印。在编程中,`\n`用于结束当前行并开始新的行。如果在C语言...
例如,一个在Windows系统上创建的文本文件,如果直接在Linux环境下打开,可能会看到每行结尾多出一个不可见的字符,即回车符。同样,一个在Linux上创建的文本文件,在Windows下打开时,可能无法正确识别每一行的结尾...
回车换行(Carriage Return, Line Feed,简称CRLF)是计算机文本处理中用于表示新行的字符组合。在不同的操作系统中,回车换行的表示方式有所不同: 1. **Windows系统**:Windows使用`\r\n`(0x0D, 0x0A)作为一行...
### vimz中设置回车换行缩进 在文本编辑器的世界里,Vim(Vi Improved)是一款功能强大且高效的文字编辑工具,尤其受到程序员和系统管理员的喜爱。它支持多种编程语言,并允许用户通过配置来定制编辑环境。本文将...
我们可以看到,在 Linux 中,遇到换行符("\n")会进行回车+换行的操作,回车符反而只会作为控制字符("^M")显示,不发生回车的操作。而在 Windows 中,要回车符+换行符("\r\n")才会回车+换行,缺少一个控制符...
下面是一个简单的C语言代码示例,用于演示不同文件操作模式下对回车换行字符的影响: ```c #include int main() { FILE *fp1, *fp2, *fp3, *fp4; char a[10], b[10]; // 以文本模式打开文件 fp1 = fopen("01...
// 将内容区域的回车换行去除 ``` 这段代码中,`replaceAll()`方法接收两个参数:第一个是正则表达式,第二个是要替换的字符串。在这个例子中,`[\\t\\n\\r]` 是一个字符集,它匹配任何制表符(`\t`)、换行符(`\...
例如,当在Windows环境下打开一个纯UNIX格式的文本文件时,由于文件中只有换行符(LF),没有回车符(CR),因此Windows系统默认的记事本程序无法识别正确的换行位置,导致所有文本内容被显示在一行内,造成阅读困难...
textarea元素允许用户输入多行文本,用户输入的内容中常包含回车换行。有时为了满足特定的展示需求,需要在前端将这些换行符替换为HTML的换行标签` `。 在HTML中,回车符`\r`表示回车(Carriage Return, CR),...
例如,在 Linux 下,回车符对应的字符是 0x0d,而换行符对应的字符是 0x0a。在 Windows 平台下,情况也是如此。因此,在讨论回车符和换行符时,我们必须依据环境来讨论,否则就会出现混淆和误解。 在 arm-linux C ...
Windows操作系统使用回车换行(\r\n)作为一行结束的标识,而Unix/Linux系统则只使用换行(\n)作为新的一行开始的标记,而在早期的Apple Mac OS系统中,回车(\r)就足够表示新行。 回车字符(CR,Carriage Return...
在文本编辑器或编程环境中,按下回车键会触发一个“换行”操作,将光标移动到下一行,从而在文本中创建新的段落或语句。 在编程和数据传输中,回车键和换行符常常是分开讨论的。回车(CR)字符表示返回到一行的起始...
而Windows系统在表示新行时则采用了回车换行的组合(CR+LF),即每行结束时同时使用CR和LF字符。Mac系统早期使用回车符(CR)作为新行的表示方式,这反映了其早期产品在文本处理方面的设计选择。 由于不同操作系统...
本文将详细介绍三种去除PHP字符串中回车换行的方法。 1. 使用`str_replace`函数替换换行 `str_replace()`函数是PHP中的一个字符串替换函数,它接受三个参数:要查找的值,要替换的值,以及要在其中进行搜索和替换的...
解决这个问题的方法是使用 Environment.NewLine 属性,它可以确保在不同的平台下都能够返回正确的换行字符。在 Windows 下是 "\r\n",在 Linux(Mono) 下是 "\n"。这样,我们可以使用 Environment.NewLine 属性来设置...
Windows使用回车换行(CRLF,即CR+LF)作为一行的结束,而Linux只使用换行(LF)作为行结束。这就可能导致在Linux下处理Windows文本文件时出现不兼容性问题。不过,有几种简单的方法可以消除这些回车字符。 1. **...
而在Windows系统中,每行结束使用回车换行两个字符(CR LF),即ASCII码13紧接着ASCII码10。Mac系统早期(OS 9以前)采用的是单独的回车符(CR)作为行结束。现代的Mac OS X则遵循了Unix标准,使用LF作为换行符。 ...
- 文中提到的`^M`字符通常表示的是Windows系统的换行符`CR`(回车),而在Linux系统中通常使用`LF`(换行)作为换行符。因此,在跨平台复制粘贴文本时可能会出现`^M`字符残留问题。 - 要删除所有`^M`字符,可以...
在文本模式下,操作系统会自动处理回车换行的转换,例如,Windows系统会在读取`\n`时将其转换为`\r\n`,而在写入时将`\r\n`转换为`\n`。二进制模式则不会进行这种转换,保留原始数据的完整性和一致性。 例如,上述...