C# Regexp-删除XXX之前的一个单词,同时删除XXX

C# Regexp-删除XXX之前的一个单词,同时删除XXX,c#,regex,C#,Regex,我需要删除字符串中的一个单词XXX以及XXX之前的一个单词 如何使用C Regexp实现这一点?U可以使用替换方法: String s = "aaa bbb"; s = s.Replace("a", "") // The example displays the following output: // The initial string: 'aaa bbb' // The final string: 'bbb' 或者在替换中使用正则表达式:

我需要删除字符串中的一个单词XXX以及XXX之前的一个单词


如何使用C Regexp实现这一点?

U可以使用替换方法:

      String s = "aaa bbb";
      s = s.Replace("a", "")

// The example displays the following output:
//       The initial string: 'aaa bbb'
//       The final string: 'bbb'
或者在替换中使用正则表达式:

tmp = s.Replace(n, "[^0-9a-zA-Z]+", "");

执行单个正则表达式替换:

string input = @"Hello World XXX Goodbye XXX Rabbit!";
Regex rgx = new Regex(@"\s*\w+\s+(?:XXX|xxx)");  // or maybe [Xx]{3}
string result = rgx.Replace(input, "", 1);
Console.WriteLine(result);

Hello Goodbye XXX Rabbit!
如果XXX前面有一个或多个字符的单词,则此替换仅针对XXX进行删除。浏览演示,了解它在各种输入下的表现

我们还可以通过以下方式使搜索模式不区分大小写:

Regex rgx = new Regex(@"\s*\w+\s+XXX", RegexOptions.IgnoreCase);
                                       ^^^^^ add this

你已经尝试过什么了?第一次出现的那个单词加上前面的单词,或者所有出现的那个单词及其前面的单词?我需要第一次出现如果XXX是字符串中的第一个单词怎么办?应该删除吗?Stack Overflow不是一个你经常回来更新的博客网站。你的问题已经回答了。如果你需要更多的支持,请打开一个新问题。对不起,对于你的情况,我只知道bbb。。另外,我需要正则表达式..在replace方法中用正则表达式编辑答案。。。正则表达式只能删除字符。。。你需要更换你是男人!!!节省了很多时间:是否可以使XXX单词不区分大小写?@Vnuuk使用替换?:XXX | XXX。如果任何X字母可能有任何大小写,那么使用[Xx]{3}。或者可能是新的Regexregex,RegexOptions.ignorecase这很酷!但是如果我们没有XXX,而是单词SUPERWORD呢?@A.Gladkiy也许这是最好的,但我担心OP可能只有一部分他希望不区分大小写的模式。在这种情况下,使整个模式不区分大小写是行不通的。