c# - How do i remove a variable part of a string?

2019-07-29 04:37发布

问题:

I would like to remove part of a string. It would have to match "/*/cms/" (without the quotes). * would be a wildcard equaling anything except a / key. The string could have more than one match to be removed.

This would have to be done in c#. I think this can be done with a regex? But I'm not sure.

回答1:

The regex to match that is /[^/]*/cms/, used like this: new Regex("/[^/]*/cms/").Replace(yourString, "")



回答2:

using System.Text.RegularExpressions;

Regex.Replace("/some example text/cms/;/some more text/cms/text/cms", "/[^/]+/cms/", "")

Use /[^/]+/cms/ if something must be between the first and second /'s, use /[^/]*/cms/ if //cms/ is a valid match.



回答3:

The accepted answer in this question will help you. Ensure that you use the Regex.Replace() method to do the pattern matching and replacement.



回答4:

Look up Regex.Replace. Hacking the example quickly:

string pattern = "/[^/]+/cms/";
string replacement = "";
Regex rgx = new Regex(pattern);
string result = rgx.Replace(input, replacement);


标签: c# regex replace