java - 我怎样才能把一个字符串放在一行中

标签 java string hex ascii

我正在做一些转换,从十六进制到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/

相关文章:

java - 删除第一个和最后一个双引号

c# - 查找正则表达式以获取具有文件扩展名的子字符串

java - 在 Intellij Idea 上运行 tomcat 时出错

java - 向我的 java 程序添加百分比的好方法是什么?

c++ - 字符串的运算符重载

c++ - 十六进制解码器输出为空

c# - 通过网络流发送字节,值发生变化

Python:UTF-8 十六进制到 UTF-16 十进制

java - VirtualEnv Python 在 MacOS 中作为 Java Python 解释器

Java框架创建简单的网站?