将ascii值转换为字符串中的对应字符(Ex-T104a110k115)-Java [英] Converting ascii value to correspondence char in a string (Ex - T104a110k115) - java

查看:73
本文介绍了将ascii值转换为字符串中的对应字符(Ex-T104a110k115)-Java的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经将char的偶数位置转换为ascii值,并且我希望这些ascii值再次转换回char.

I have converted even position of my char to ascii value and i want these ascii value to convert back to char again.

因此字符串值为谢谢"

So string value is "Thanks"

转换后的值为"T104a110k115"

Converted value is "T104a110k115"

我要它谢谢",再次.

我用来...转换的程序

Program I have used... to convert

    StringBuilder sb = new StringBuilder();
for (int i = 0; i < Str2.length(); i++) {
    if (i % 2 != 0) {
        int m = Str2.charAt(i);
        sb.append(m); // add the ascii value to the string
    } else {
        sb.append(Str2.charAt(i)); // add the normal character
    }
}
System.out.println("Replaced even chart with ascii--"+sb.toString());
            
      sb.append(3);
       System.out.println("added a int--"+sb.toString());

推荐答案

注意:该答案使用正则表达式.如果您不知道正则表达式,那么现在可能是上线学习它的好时机.

Note: This answer uses regular expression. If you don't know regular expressions, now might be a great time to go online and learn about it.

在Java 11及更高版本中,您可以这样操作:

In Java 11 and later, you can do it like this:

String input = "T104a110k115";

String result = Pattern.compile("\\d+").matcher(input)
        .replaceAll(r -> Character.toString(Integer.parseInt(r.group())));

System.out.println(result); // prints: Thanks

在较旧的版本(Java 1.4及更高版本)中,您可以这样操作:

In older versions (Java 1.4 and later), you can do it like this:

StringBuffer buf = new StringBuffer();
Matcher m = Pattern.compile("\\d+").matcher(input);
while (m.find()) {
    char c = (char) Integer.parseInt(m.group());
    m.appendReplacement(buf, String.valueOf(c));
}
String result = m.appendTail(buf).toString();

这篇关于将ascii值转换为字符串中的对应字符(Ex-T104a110k115)-Java的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆