How to find string values based on a string with multiple possibilities


What i want to do is the folowing.

I have a string called currentCodeLine this line is filled with a code line read from a source (a 4G language)

I also have a string called declaredVariables, containing: "iused inotused"

now i want to check if one or more of the words in the declaredVariables is in the currentCodeLine string.

I have tried to use the indexof, contains etc, but probably it can only search for a single word at a time.

Who is Participating?
Kevin CrossConnect With a Mentor Chief Technology OfficerCommented:
Try something like this, using Split to break your variables up then foreach syntax to search each once at a time.  Yes think your issue is that those variables probably don't appear together in sequence with a space so you won't get any matches unless you check independently.
string currentCodeLine = "iused x = some value that is inotused";
            string declaredVariables = "iused inotused";
            int count = 0;
            foreach (string s in declaredVariables.Split(" ".ToCharArray())) {
                if (currentCodeLine.Contains(s)) count++;
            Console.WriteLine(String.Format("Found {0} instances!", count));

Open in new window

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.