Supprimer le caractère "vide" de la chaîne

Je suis en utilisant un framwork qui renvoie mal formé des Chaînes de caractères avec des caractères "vides" de temps à autre.

"foobar", par exemple, est représenté par:
[,f,o,o, o,b,a,r]

Le premier caractère n'est PAS un espace (' '), donc un Système..printlin() retourne "foobar" et non pas "foobar". Pourtant, la longueur de la Chaîne est de 7 au lieu de 6. Évidemment, cela rend la plupart des méthodes String (d'égal à égal, split, sous-chaîne,..) inutile. Est-il un moyen de supprimer les caractères vides à partir d'une Chaîne?

J'ai essayé de construire une nouvelle Chaîne de caractères comme ceci:

StringBuilder sb = new StringBuilder();
for (final char character : malformedString.toCharArray()) {
  if (Character.isDefined(character)) {
    sb.append(character);
  }
}
sb.toString();

Malheureusement cela ne fonctionne pas. Même avec le code suivant:

StringBuilder sb = new StringBuilder();
for (final Character character : malformedString.toCharArray()) {
  if (character != null) {
    sb.append(character);
  }
}
sb.toString();

Je ne peux pas vérifier pour l'un de caractères vide comme ceci:

   if (character == ''){
     //
   }

Il y a évidemment quelque chose de mal avec la Chaîne .. mais je ne peux pas changer le cadre, je suis en utilisant ou attendre pour eux de le réparer (si c'est un bug dans leur cadre). J'ai besoin de gérer cette Chaîne et sanatize.

Des idées?

source d'informationauteur black666

Leave a Reply

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *