如何在没有字符的情况下在字符串中打印下一个字符?

问题描述 投票:0回答:1

我有一个包含由空格分隔的字符的字符串。需要以特定格式打印该字符串,即使字符不存在,也将打印下一个相应的字符。

例: 我有输入字符串

INPUT RAW STRING

B D A E C

D B C

A E B

A B C D E

输出字符串

A B C D E

B C D 

A B E

A B C D E

需要在informatica解决方案

informatica
1个回答
0
投票

Informatica不是操作字符串的最佳工具,因为没有解析器,没有数组函数,本身也没有循环结构。

在我看来,您的问题可以用更简单的方式解释:每行上的字符必须按字母顺序排序。

您可以使用Java Transformation并使用Java编写此操作。

如果您使用的是Linux,则可以使用简短的脚本解决此问题:

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

在这个脚本中,while循环读取文件的每一行,并且对于每一行,它使用tr命令将每个字符放在一个单独的行上,然后对字符进行排序,最后按顺序将所有字符放在同一行中。

作为最后的手段,如果一行中的字符数具有已知(低)限制,则可以使用Informatica转换执行此操作,因为您应为一行的每个字符创建一个字段。您可以使用Normalizer将字符放在单独的记录上,使用Sorter对它们进行排序,使用Expression分配排名值,使用Aggregator从同一行收集字符,使用Expression来重建行。

我不推荐这种解决方案,因为实现和维护非常复杂。

© www.soinside.com 2019 - 2024. All rights reserved.