How to check if element from my array is in a pdf

Hey all.
I have an array of certain words, and I want to cross reference those with a pdf and check if any of the elements in my array are present in the pdf. I tried using a for loop that basically says
for currentItem in array:
if pdf.contains(currentitem) == True :
print (True)
I keep getting an "Overload resolution failed because no accessible contains can be called with these arguments"
Can someone help with this

ensure that the array goodplan is of datatype String Array / List(Of String)
the typeargument of the for each activity is set to String

1 Like

thanks. Error on my part

looks like it is solved and the topic can be closed by:

not quite. My validation still returns “failed”.

debug it and check on which looped item it fails also feel free to set breakpoints and inspect more in detail with one of the debugging panels:

1 Like

what is the error now?

What is the variable type for plandescrip and goodplan (Can you please post a screenshot of the variable panel)

I have a for loop that goes through every element in the array and checks if any of them are in plan descrip, they all return false.

Don’t forget to check the letters case (uppercase lowercase ) .

the array table was created from the description I’m looking through. It should be the exact same thing

Hi @cemenike ,

Could you also let us know if it is just a Check that you are trying to perform ? Or are there operations Within the Loop that you do after Success or False.

We can have a check for the condition mentioned with the below Expression directly without the For Each Loop activity :


The above Expression would return True if any one of the Element is present in the planedescrip data.

Also, A Clear understanding of the variables goodplan, array1 and planedescrip variables would help us to analyse faster and provide you with accurate suggestions.

Note: You were looping through goodplan which is a string, so each character in the string is returned as the item.

It is just a simple success or failure checker. If the text is in plan descrip, print success

for more clarity, goodplan is a txt file containing a list of strings that I converted to an array (array1) where each element is a line of string content

plandescrip is a variable that i assigned to a pdf.

the text content that I am looking is 100% in goodplan, but everytime i run the .contains(array(correct index)) function, i get a false return

I have tried running a .contains() using a string instead of a variable and this sort of worked. But i need it to loop through that array and tell me when it spots the one that is correct. as i have a lot of pdfs to go through

@cemenike ,

If looping through is what is needed then could you maybe provide a Screenshot of the implementation done as we do not see the looping of PDF files.

Motive is to correct your designed flow as little as possible, identifying the corrections to be done or better methods in it’s place.

Also, Maybe confirm on the Expression provided above if it works ?

1 Like

expression didnt work.

For clearer context

This is the pdf text I’m trying to grab

One of the array’s elements is this exact text word for word, case sensitivity included.
all i just want is for when the pdf is passed through, the array element that has this string, comes up and returns true in my contains function. i have my array saved as the write data type. I just dont know why it doesnt see it

I even tried to write out the text in the contains() instead of using an array element just in case, the boolean still returns false

@cemenike ,

Assuming this is the representation in PDF document, did you check the data after writing to a Text file ?
Since it is a long line check, need to also check how the data is extracted from the PDF and how it is presented after extraction.

This is how the pdf format looks when i write it out using ui path

@cemenike ,

From the Text data shown it looks like there are new lines involved with the data that you want to check.

So, Maybe trying to replace the NewLine with a Space could help your scenario :

System.Text.RegularExpressions.Regex.Replace(plandescrip,"\r?\n"," ")

So instead of planedescrip use the above Expression to check with the Write Line activity as you have already done using Contains() method.

Also, try writing the above Expression into the Text file and check the format presented in it.

1 Like

that solves the issue. Thank you very much