Looks like you're building the query up as a string since it's dynamic, so couldn't you just loop through the fields in the description information, and then use .contains() on the query string to see if it was requested? Not crazy elegant, but seems like the simplest solution here.
Taking this further, maybe you have the list of fields selected in a list of strings or similar, and you could just use that list?
Want to learn about Salesforce in depth? Enroll in this Salesforce course provided by Intellipaat!