我有一个字符串,其中包含用空格分隔的字符。需要以一种特定的格式打印该字符串,即使那里没有一个字符,也会打印下一个相应的字符。
示例:
我有输入字符串,如
输入原始字符串
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的解决方案
答案 0 :(得分:0)
Informatica并不是处理字符串的最佳工具,因为没有解析器,数组函数和本地循环构造。
在我看来,您的问题可以用一种更简单的方式来解释:每行字符必须按字母顺序排序。
您可以使用Java转换并用Java编写此操作。
如果您使用的是Linux,则可以使用简短的脚本解决此问题:
while read line
do
echo $line|tr ' ' '\n'|sort|xargs echo
done < yourfile.txt
在此脚本中,while
循环读取文件的每一行,并针对每一行使用tr
命令将每个字符放在单独的行中,然后对字符进行排序,最后放入同一行中的所有字符按顺序排列在一起。
作为最后的选择,如果行上的字符数具有已知(低)限制,则可以使用Informatica转换执行此操作,因为您将为行的每个字符创建一个字段。您可以使用Normalizer将字符放在单独的记录上,使用Sorter对它们进行排序,使用Expression分配等级值,使用Aggregator从同一行收集字符,并使用Expression来重建行。
我不推荐这种解决方案,因为要实现和维护它会非常复杂。