Is this a standard format? If you can recognize the whole thing using a regex featurizer for example, I think it would be best if you would keep using regexes to extract the middle part that you want as something else.
As a general note, it is my personal opinion that you should only let the entity extractor do the hard work of extracting the substring you want out of the sentence if that substring follows a certain logic, and then use some other thing to do logic on that substring (such as extracting the “CS” for example). Entities should be only used to extract stuff out of user messages. If you need the bot to use those values to drive its logic, use slots, custom actions, the Keras policy, etc.