This could be due to case sensitivity.
Try using ToLower or ToUpper method in addition to Contains
VariableName.ToLower.Contains(“TEST”), in your case replace “TEST” string with currentRow value
Reference - Str1.Contains(Str2)
The expected output for the above code snippet is False, because the .Contains method checks if the entire string “Str2” occurs within “Str2”. I guess you are assuming it would also be checking if all the possible substrings of “Str2” will also be checked. But that is not how the .Contains method works. It will just check if “Banco BCI” occurs within “Planillas_BcoBci20”. It doesn’t check if the substring “BCI” occurs within “Planillas_BcoBci20”. Refer to code examples at String.Contains Method (System) | Microsoft Learn
One of the possible solutions for your problem would be to write a program to find the length of the longest common substring between str1 and str2 and use the code within UiPath (Invoke Code activity).
You have mentioned in your query that “The desired workflow is that the second “For each Row in Data Table” just runs once when its value ( CurrentRow) has some part similar to CurrentRow1.” You need to clearly define what some part means. What is the minimum length that should be common between the 2 strings for the output to be True? Once that is decided upon, you can check if the output of the above program meets the minimum length.
Hope the above explanation is clear. Please let me know if you have any further queries.
P.S. Kindly mark this reply as the solution if it helps in resolving your issue.