Skip to main content
anilcseiitm2006
Silver ⭐️⭐️⭐️
January 24, 2018
Solved

Append or Prepend Dollar Signs ($) in NiFi Using the literal Function

I have requirement where I need to append and prepend the attribute with "$$$". how ever, Nifi expression language is appending or prepending with "\$"

For example: if attribute named "myattr" value is "This is Test"

when I do ${myattr:prepend('$$$'):append('$$$')}

I am expecting "$$$This is Test$$$"

but the output is "\$This is Test\$"

Is there any way to append or prepend the attribute with "$$$"

MattWho
MattWhoAnswer
Titanium ⭐️⭐️⭐️
October 31, 2024

@SS_Jin 
Another option is to use the NiFi expression Language (NEL) function "literal()}" in the NEL statement:

${myattr:append(${literal('$$$')}):prepend(${literal('$$$')})}

This removes the need to you are using the correct number of "$" to escape $ in the NEL.

Please help our community grow. If you found any of the suggestions/solutions provided helped you with solving your issue or answering your question, please take a moment to login and click "Accept as Solution" on one or more of them that helped.

Thank you,
Matt

6 replies

Shu_ashu
Gold ⭐️⭐️⭐️
January 24, 2018

@Anil Reddy

use 9$ instead of 3$

${myattr:prepend('$$$$$$$$$'):append('$$$$$$$$$')}

in expression language if you use 3$ are results as 1$ so we need to use 9$ if you want 3$ sign to be added to the attribute value.

Input:-
"myattr" value is "This is Test"

expression:-
${myattr:prepend('$$$$$$$$$'):append('$$$$$$$$$')}

Output:-
$$$This is Test$$$

Translate
anilcseiitm2006
Silver ⭐️⭐️⭐️
January 25, 2018

what might be the reason for the extra character '\' ?

Translate
anilcseiitm2006
Silver ⭐️⭐️⭐️
January 25, 2018

it seems like replaceText processor is replacing '$$$$$*' in the content to '\$' while replacing the flow file content!

seems like actual issue is I have an attribute namely "myattr"

when myattr is "$$This is test$$", if I replace the flowfile content with myattr, the content in the flowfile is "\$this is test\$"

Translate
Silver ⭐️⭐️⭐️
October 31, 2024

That's perfect !

Translate