Как напечатать следующий символ в строке при отсутствии символа? - PullRequest
0 голосов
/ 10 апреля 2019

У меня есть строка, содержащая символы, разделенные пробелом.Нужно напечатать эту строку в определенном формате, то есть, даже если символ отсутствует, будет напечатан следующий соответствующий символ.

Пример:
У меня есть входные строки, такие как

INPUT RAW STRING

B D A E C

D B C

A E B

A B C D E

OUTPUT STRING

A B C D E

B C D 

A B E

A B C D E

Требуется решение в informatica

1 Ответ

0 голосов
/ 11 апреля 2019

Informatica - не самый лучший инструмент для работы со строками, так как здесь нет синтаксического анализатора, функций массива и встроенных циклов.

Мне кажется, что вашу проблему можно объяснить проще: символы в каждой строке должны быть отсортированы в алфавитном порядке.

Вы можете использовать преобразование Java и запрограммировать это действие на Java.

Если вы работаете в Linux, вы можете решить эту проблему с помощью короткого сценария:

while read line
do
    echo $line|tr ' ' '\n'|sort|xargs echo
done < yourfile.txt

В этом сценарии цикл while читает каждую строку файла, и для каждой строки он помещает каждый символ в отдельную строку с помощью команды tr, затем сортирует символы и, наконец, собирает все символы из та же строка в порядке.

В качестве последнего средства вы можете сделать это с помощью преобразований Informatica, если число символов в строке имеет известный (нижний) предел, поскольку вы должны создать поле для каждого символа строки. Вы можете использовать нормализатор, чтобы поместить символы в отдельные записи, отсортировать их с помощью сортировщика, назначить значения ранга с помощью выражения, использовать агрегатор для сбора символов из одной строки и выражение для перестройки строк.

Я не рекомендую такого рода решение, потому что его было бы очень сложно достичь и поддерживать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...