【问题标题】:How can i put a string in one line如何将字符串放在一行中
【发布时间】:2016-04-13 21:02:53
【问题描述】:

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

F23C040100C1

100D200000000000

0000

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

F23C040100C1100D2000000000000000

我该怎么做?

我试过了:

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

【问题讨论】:

  • 显示生成字符串的代码...一方面,您可以尝试转义 \\,使用 mensagem.replaceAll("\\r\\n", "");

标签: java string hex ascii


【解决方案1】:

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

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

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

【讨论】:

  • 大声笑,我想说的差不多。你打败了我
  • 如果它回答了您的问题,请接受此答案
猜你喜欢
  • 1970-01-01
  • 2023-03-16
  • 1970-01-01
  • 1970-01-01
  • 2014-12-20
  • 2018-03-17
  • 1970-01-01
  • 1970-01-01
  • 2020-06-12
相关资源
最近更新 更多