我正在做一些转换,从十六进制到Ascii,当我转换字符串时,我得到了以下示例:
F23C040100C1
100D200000000000
0000
由于基数为 16,我知道字符串是这样的,但我也想将它放在一行中,如下所示:
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
,反之亦然。因此,你想说的是
if
\r
exists, remove it. if\n
exists, also remove it
你可以这样做:
mensagem = mensagem.replaceAll("\r*\n*", " ");
正则表达式中的 *
运算符表示匹配零个或多个前面的符号。
关于java - 我怎样才能把一个字符串放在一行中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34689601/