【问题标题】:C# regular expressions .ReplaceC# 正则表达式 .Replace
【发布时间】:2012-03-18 09:56:57
【问题描述】:

我在 C# 中使用正则表达式有困难。我需要做的是找到一个特定的字符串,并在该字符串中只保留一个特定的单词。

这是我的代码:

 reg = new Regex("<td></td><td><Span class=\"abc\"><Span style=\"color:#......;\"><B>(.*?)</td></tr>");

这是我要检索的唯一字符串,因为我可以放不同的颜色......(代码颜色始终为 6 个字符),而 (.*?) 是我将要检索的特定单词想保存。

然后是这样的:

this.varToSave = reg.Match(data).Value.Replace("<td></td><td><Span class=\"abc\"><Span style=\"color:#......;\"><B>", "").Replace("</td></tr>", "");

我想删除所有内容并只保留我的话(。*?),但它不起作用。它只会删除 ("", "")。我认为是替换代码中的“......”有问题,但我不知道如何解决这个问题。

提前致谢。

【问题讨论】:

标签: c#


【解决方案1】:

我希望这会有所帮助。它将为您提取颜色代码。不确定您是要提取它还是替换它。无论哪种方式,这都会有所帮助:

        var textInput = "<td></td><td><Span class=\"abc\"><Span style=\"color:#......;\"><B>XYZ</td></tr>";
        var reg = new Regex(@"\<B\>(?<myText>.+?)\</td\>\</tr\>$");

        var matches = reg.Matches(textInput);

        Console.WriteLine("Text found was '{0}'", matches[0].Groups["myText"].Value);

祝你好运。

【讨论】:

  • 谢谢,但也许你没明白我的意思(我的英语不好^^)。我有一个 HTML 页面,我想在其中检索一个唯一的单词(但我事先不知道它是什么,我只知道它将被我在原始帖子中发布的 html 代码包围)。所以我不需要数组或集合,因为只有一个匹配项。所以我发现了那个代码,中间是我要保存的关键字,所以我用“”(换句话说,擦除)替换除了我的关键字之外的所有内容。然后只剩下我的关键字,我保存它。基本上这就是我想做的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-13
  • 2013-10-13
  • 2017-01-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多