Convertir String en Number : ASCII problème

Bonjour
J’ai le même problème que [Mireille_OBAMA] dans son post “Convertir un string en number”. Après avoir lu avec attention le post, j’aimerai savoir avec quel outil (ou comment) je peux identifier le code ASCII qui est derrière l’espace dans ma chaîne de nombre ? (@aworker si tu peux me dire cela m’aiderai beaucoup).

Mon workflow part d’un pdf avec le node Tika Parser et lorsque je souhaite convertir les lignes de caractère en nombre j’ai le même message d’erreur et la même problématique d’espace dans ma chaîne de nombre issue du pdf.
C’est pourquoi je voulais essayer de trouver le code ASCII et voir ensuite comment je peux l’utiliser pour supprimer cet espace.

Merci de votre aide.

Bonjour @tite_za ,
vous faites référence à ce post, n’est-ce pas ?

Je ne connais pas de fonction en KNIME pour convertir une chaîne de caractères/nombers en ASCII. Il est certainement possible de le faire avec du code (par exemple, vous pouvez prouver une de ces solutions dans un Java Snippet nœud pour identifier l’espace erroné).

Mais je crois qu’il y a une solution beaucoup plus simple: regex!

Une fonction comme celle-ci dans un nœud String Manipulation, par exemple, va à eliminer tous cette caractèrs que sont pas de chiffres.

Aprés, vous pouvez le transformer avec un nœud String to Number.

J’espère vous avoir aidé.

Bonne journéè,
Emilio

2 Likes

@tite_za ,

En réalité, il est possible d’obtenir le code ASCII d’un caractère dans le nœud “String Manipulation”, mais la méthode n’est pas documentée. Elle repose sur la possibilité d’utiliser un morceau de code Java compatible avec son analyseur syntaxique. Voici le code qui permettra d’y parvenir.

Actually, it is possible to obtain the ascii code for a character in the “String Manipulation” node, but the method is undocumented. It relies on being able to use a piece of java which is compatible with its parser. Here is code that will achieve it

toInt((int)$column1$.charAt(0))

Cependant, il est plus probable que vous ayez besoin de trouver le code Unicode d’un “caractère d’espace” si l’espace n’est pas le caractère d’espace ASCII (ASCII 32).

However, it is more likely that you are needing to find the unicode for a “space character” if the space is not the ascii space character (ascii 32).

string(String.format("%04x", (int) $column1$.charAt(0)).toUpperCase())

image

(linking to Fun with String Manipulation's "undocumented features" for cross-reference)

3 Likes

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.