2016-09-15 1 views
0

j'ai des données qui ressemble à ceci:tuyaux de parsing d'une ligne en utilisant l'expression

A | B | CC | DD | EE | FF | GG

Est-il possible que je peux analyser la chaîne de sortie valeurs des séparateurs de tuyaux? Quelqu'un peut-il me donner quelques exemples?

par exemple.

A est la valeur avant le premier tuyau

B est la valeur avant que le second tuyau

etc.

etc.

+0

est-ce juste une chaîne? devrait être trivial pour juste itérer sur la chaîne recherchant '|'. –

+0

Marc, ça te dérange de me donner un exemple? –

+0

aucune idée. jamais travaillé avec informatica. juste parler en général. Si vous avez des fonctions de chaîne disponibles, commencez à balayer la chaîne. commencez le début, cherchez un '|', et entre ces deux points devient votre valeur 'A'. puis scanne pour un autre '|'. tout entre le premier '|' et le second '|' est votre 'B', etc ... etc ... –

Répondre

0

Vous pouvez utiliser des commandes combinaison INSTR et SUBSTR ou REG_ . Merci !!

1

Il est possible dans Expression Transformation mais très gênant. Vous devez utiliser les fonctions INSTR et SUBSTR comme indiqué par @Vikas.

Ce que vous pouvez essayer est Java Transformation ou ...

Une astuce: Que diriez-vous du dumping ce (à savoir la chaîne avec une valeur de clé) dans un fichier avant de traiter l'ensemble de données. Et puis utilisez un Source Qualifier supplémentaire avec Column delimiter défini sur "|" faire tout le sale boulot pour vous? Ensuite, vous pouvez tout joindre ensemble en utilisant un Joiner Transformation et la valeur de la clé déversée dans le fichier.