我正在做一些转换,从Hex到Ascii,当我转换字符串时,我得到了以下示例:
F23C040100C1
100D200000000000
0000
我知道字符串是这样的,因为基数为16,但我想把它放在一行中,就像这样:
F23C040100C1100D2000000000000000
我该怎么做?
我试过了:
mensagem.replaceAll("\r\n", " ");
答案 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*", " ");
正则表达式中的*
运算符表示匹配前面符号中的零个或多个。