I have been trying to avoid the special character like 312328-342344 ("-") and have output as 312328342344 or even 312328 342344 but it is not happening. Can you please help me on this. I did try the following;
row2.ColumnName.replaceAll("[-]", "") and more but it doesn't work, I keep getting error. This has a data type string by the way. Can somebody help on this?
Solved! Go to Solution.
Your code should work. What is the error? Is it a nullpointerexception? If so, use this code....
row2.ColumnName!=null ? row2.ColumnName.replaceAll("[-]", "") : row2.ColumnName
Thanks for the response, it is not null pointer error. I get below error;
Error Line: 3791
Detail Message: The operator || is undefined for the argument type(s) boolean, String
Error is not with replace function. are you using any concatenation function in tMap? Please provide tMap configurations.
I think it's syntax error. Can you please provide more details what you are doing in tMap. Why are you using || in coding?
Your expression is wrong. I suspect you are wanting to say....
"If AdminSystemValue is "CDB_AP" or
If AdminSystemValue is "CDB_CO" or
If AdminSystemValue is "CDB_CS" or.....etc
THEN replace all of the "-" chars in the AdminPartyId String"
In order to do that you need an inline IF. Something like this....
row2.AdminSystemValue!=null && (row2.AdminSystemValue.equals("CDB_AP") || row2.AdminSystemValue.equals("CDB_CO") || row2.AdminSystemValue.equals("CDB_CS")) ? row2.AdminPartyId.replaceAll("[-]","") : row2.AdminPartyId
I've given an example, not the complete code.
Hi, as you see on screenshot other are the filters to get the data I like to have in output. Suppose
row2.AdminSystemValue.equals("CR") pulls CR data and || is or character to add more filters. Above
row2.AdminPartyId.replaceAll("[-]", "") is working and I get out as expected. When I put
row2.AdminPartyId.replaceAll("[-]", "") then get that error shared.
This is because row2.AdminSystemValue.equals("CR") gives you TRUE OR FALSE, but row2.AdminPartyId.replaceAll("[-]", "") will give you return value after replace. As per my knowledge you can not use different boolean and string value functions in the same function.
Hi, I tried your logic in tMap but it doesn't seem it is working.
I am trying to avoid "-" from AdminPartyId and only want those values given for AdminSystemValue. I can get those values on AdminSystemValue with the logic I have but never for AdminPartyId.
You need to give a bit more information. What exactly did you try (ie show the code....copy and paste it here)? What was the error message?
Hi, Please forget about the other filters. Now I only have
Could you please help me getting rid of "-" character from AdminPartyId?
That should work. The only thing you are possibly missing is a check for null. Are you getting any errors or is it just not removing the "-"? Can you show how this is used in your tMap? A screenshot of your complete tMap may help
Hi, I am getting error with just the filter (
and below is the error message;
Error Line: 3791
Detail Message: Type mismatch: cannot convert from String to boolean
Can you please take a screenshot of your tMap? You are leaving out important information. The error...
Type mismatch: cannot convert from String to boolean
....suggests that you are trying to set a boolean value with a String. This suggests to me that either you are setting an incorrect column type OR you are using that logic in a filter. I cannot tell when you post your code. It MUST be a screenshot.
Are you using replace function in filter ? if yes then what are you trying to get out put?
You can use variable ports in tMap to clean data first then use that variable port in filter.
I was trying with replaceAll function to avoid "-". So you think I need to do on Variable ports? Could you please suggest me exactly what I need to mention as expression?