从正在使用的正则表达式C#中删除字符串中的单词/

时间:2016-06-22 15:44:42

标签: c# regex

需要摆脱带有正则表达式的字符串中的“组织”,问题是组织后面是不同的文本,例如它可能是

Hosted/Organizationminor/
or
Hosted/Organizationmajor/

两者的结果应该是

Hosted//

2 个答案:

答案 0 :(得分:1)

以下将查找"组织"的实例。其次是任何数量的非" /"字符,只要"组织"之前是" /"并且整个事情后跟" /"。我使用零宽度后视和前瞻断言,以便您可以将其作为正则表达式放入并用空字符串替换它。

(?=/)Organization[^/]*(?=</)

答案 1 :(得分:1)

LINQ有一个非正则表达式解决方案。

由于任务是在"Organization"之后移除已知字符串/,然后删除除/之外的任何字符,您可以使用/拆分字符串并重新生成使用LINQ的字符串只选择必要的部分:

string.Join("/", s.Split('/')
    .Select(m => m.StartsWith("Organization") ? "" : m) // Empty the parts starting with the known word
);

请参阅IDEONE demo