KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
Consider the requirement to find a matched pair of set of characters, and remove any characters between them, as well as those characters/delimiters. Here are the sets of delimiters: [] square brackets () parentheses "" double quotes '' single quotes Here are some examples of strings that should match: Given: Results In: ------------------------------------------- Hello "some" World Hello World Give [Me Some] Purple Give Purple Have Fifteen (Lunch Today) Have Fifteen Have 'a good'day Have day And some examples of strings that should not match: Does Not Match: ------------------ Hello "world Brown]co[w Cheese'factory If the given string doesn't contain a matching set of delimiters, it isn't modified. The input string may have many matching pairs of delimiters. If a set of 2 delimiters are overlapping (i.e. he[llo "worl]d" ), that'd be an edge case that we can ignore here. The algorithm would look something like this: string myInput = "Give [Me Some] Purple (And More) Elephants"; string pattern; //some pattern string output = Regex.Replace(myInput, pattern, string.Empty); Question: How would you achieve this with C#? I am leaning towards a regex. Bonus: Are there easy ways of matching those start and end delimiters in constants or in a list of some kind? The solution I am looking for would be easy to change the delimiters in case the business analysts come up with new sets of delimiters.
Tags (comma-separated)
Save Edits
Cancel