Java 我怎样才能把一个字符串放在一行

Java 我怎样才能把一个字符串放在一行,java,string,hex,ascii,Java,String,Hex,Ascii,我正在做一些转换,从十六进制到Ascii,当我转换字符串时,我得到了以下示例: F23C040100C1 100D200000000000 万 我知道字符串是这样来的,因为基数是16,但我也想把它放在一行,像这样: mensagem = mensagem.replaceAll("\r*\n*", " "); F23C040100C1100D2000000000000000 我该怎么做 我试过: mensagem.replaceAll("\r\n", " "

我正在做一些转换,从十六进制到Ascii,当我转换字符串时,我得到了以下示例:

F23C040100C1

100D200000000000

我知道字符串是这样来的,因为基数是16,但我也想把它放在一行,像这样:

mensagem = mensagem.replaceAll("\r*\n*", " ");
F23C040100C1100D2000000000000000

我该怎么做

我试过:

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

您可能会遇到多个问题,因此我将在本答案中介绍所有这些问题

首先,
String
上任何看似修改它的方法实际上都会返回一个
String
的新实例。这意味着如果您这样做:

String something = "Hello";
something.replaceAll("l", "");
System.out.println(something); //"Hello"
你会想做的

something = something.replaceAll("l", "");
还是你的情况

mensagem = mensagem.replaceAll("\r\n", " ");
其次,换行符中可能没有任何
\r
,但有一个
\n
,反之亦然。因此,你想这么说

如果
\r
存在,请将其删除。如果
\n
存在,请将其删除

您可以这样做:

mensagem = mensagem.replaceAll("\r*\n*", " ");

正则表达式中的
*
运算符表示匹配前面的零个或多个符号。

显示生成字符串的代码。。。首先,您可以尝试转义\\,使用
mensage.replaceAll(\\r\\n,“”)哈哈,我想说的几乎是一样的。如果回答了你的问题,你就接受这个答案