我怎么能把一个字符串放在一行

时间:2016-01-09 04:16:49

标签: java string hex ascii

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

  

F23C040100C1

     

100D200000000000

     

0000

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

  

F23C040100C1100D2000000000000000

我该怎么做?

我试过了:

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

1 个答案:

答案 0 :(得分:2)

您可能会遇到多个问题,因此我将在此答案中涵盖所有问题。

首先,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*", " ");

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