[JAVA] Supprimer les caractères de contrôle du code ASCII des chaînes

LT;DR

Après avoir converti Hex en un tableau d'octets et `new String (byte [])`, 0x00 ou 0x01 est entré et il est devenu mukey, alors je l'ai vérifié.

Supprimez les caractères de contrôle ASCII de la chaîne.

replaseAsciiCC.java


//Requis pour convertir hexadécimal en octet.
import javax.xml.bind.DatatypeConverter;

//Abrégé en tant que définition de classe ou définition de méthode

String hex = "0100313233343536373839302D5E5C";  //Les 4 premiers octets sont des caractères de contrôle

byte[] hexFromByte = DatatypeConverter.parseHexBinary(hex);
String strFromByte = new String(hexFromByte);

String resultStr strFromByte.replaceAll("\\p{C}", ""));

//Le caractère de contrôle disparaît"1234567890-^\"Doit être sorti.
System.out.println(resultStr);

C'est la raison pour laquelle "\ p {C}" convient. https://regular-expressions.mobi/unicode.html?wlr=1

Notez que le code de saut de ligne est également supprimé. Je ne sais pas s'il peut être utilisé dans des langues autres que Java.

Recommended Posts

Supprimer les caractères de contrôle du code ASCII des chaînes
[Java] Supprimer les espaces dans les chaînes de caractères
Extraire des caractères de la méthode de tranche de chaîne Ruby