我有一个要求,我有一个带花括号的传入字符串。我必须用一个花括号替换第一次出现的花括号和任何东西。简而言之,我必须在使用Informatica中的REG_REPLACE首次出现大括号之前消除任何内容。我尝试在UNIX中使用s / ^ [^ {] * //,但它根本没用。任何帮助将不胜感激。
由于
答案 0 :(得分:1)
嗯嗯sed并不真正有贪婪或懒惰替换的概念,更好地使用非常相似但更强大的perl替换命令。你的sed命令也试图替换行的开头然后第一个字符,只要它不是大括号,然后是其他所有的空白。
尝试
perl - pi -e 's/^*?{//g' addyourfilenamehere.
使用informatica也可以使用instr查找第一个{character然后substr的位置,将该字符后面的所有字符提取到另一个端口,类似于nico在此建议https://network.informatica.com/thread/16336
你有一个可变的整数端口让我们调用FIRSTBREAK设置为
INSTR(FIELDIN,'{') + 1
并将输出端口设置为
SUBSTR(FIELDIN, FIRSTBREAK)
我个人在编码中避免使用正则表达式,这是非常强大但我发现由于意外的正则表达式行为导致的一些混乱
答案 1 :(得分:0)
非常感谢!是的,我使用了类似的表达方式。 输出端口= SUBSTR(INPUT_STRING,INSTR(INPUT_STRING,' {'),LENGTH(INPUT_STRING))