【问题标题】:How to replace words ending with -ing with a static string如何用静态字符串替换以-ing结尾的单词
【发布时间】:2015-06-13 04:41:53
【问题描述】:

在下面的代码块中,我尝试用静态文本“------”替换以 -ing 结尾的单词。但是,这似乎不起作用并抛出 --- 到处都是。我做错了什么?

string ingString = "I like programming, running, jobs and swimming.";
string ingWords = @"[^\\b\\w+(ing\\b)$]";
string staticLine = "------";
replaceString = Regex.Replace(ingString, ingWords, staticLine);

它应该是“我喜欢 ------, ------, 工作和 ------。”

谢谢

【问题讨论】:

  • 将字符串拆分为单词,找到您查询的单词,用直线替换它们,然后将 string[] 转换回字符串。
  • 我会看看我是否能弄清楚如何做到这一点,谢谢。
  • @"\b\w+ing\b"这样简单的东西怎么样

标签: c# regex


【解决方案1】:

这样就可以了:

string ingString = "I like programming, running, jobs and swimming.";
string ingWords = @"\w+ing\b";
string staticLine = "------";
Console.WriteLine(Regex.Replace(ingString, ingWords, staticLine));

输出:

I like ------, ------, jobs and ------.

现在回答您的问题:

我做错了什么?

你正则表达式:

[^\\b\\w+(ing\\b)$]

当您使用方括号 [...] 时,它代表一组字符,因此引擎会尝试匹配您集合中的所有字符,这就是为什么它用 ----- 替换大量字符的原因

【讨论】:

    【解决方案2】:

    您的正则表达式不正确。试试这个:\w*ing\b

    取自另一个question,但已根据您的需要进行了修改。

    【讨论】:

      猜你喜欢
      • 2015-06-23
      • 1970-01-01
      • 1970-01-01
      • 2016-12-04
      • 2018-10-16
      • 1970-01-01
      • 2023-04-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多