Regex Failure - Bug Fixing #2

本文介绍了一个使用C#实现的正则表达式过滤器,旨在帮助Timmy从负面评论中过滤出积极的话语。通过将含有贬义词汇的句子替换为积极词汇,该过滤器可以有效地提升文本的情感价值。

http://www.codewars.com/kata/55c423ecf847fbcba100002b/train/csharp

Oh no, Timmy's received some hate mail recently but he knows better. Help timmy fix his regex filter so he can be awesome again!

using System;
using NUnit.Framework;
System.Text.RegularExpressions

[TestFixture]
public class Tests
{
  [Test]
  public static void FixedTest()
  {
    Assert.AreEqual("You're awesome! timmy!", Kata.filterWords("You're Bad! timmy!"));
    Assert.AreEqual("You're awesome! timmy!", Kata.filterWords("You're MEAN! timmy!"));
    Assert.AreEqual("You're awesome!! timmy!", Kata.filterWords("You're UGLY!! timmy!"));
    Assert.AreEqual("You're awesome! timmy!", Kata.filterWords("You're horrible! timmy!"));
    Assert.AreEqual("You're awesome!! timmy!", Kata.filterWords("You're HiDeOuS!! timmy!"));
    Assert.AreEqual("You're awesomeish!! timmy!", Kata.filterWords("You're Meanish!! timmy!"));
  }
}

 

主要是i的用法,

 

i

Use case-insensitive matching.

\b(?i)a(?-i)a\w+\b

"aardvark", "aaaAuto" in "aardvark AAAuto aaaAuto Adam breakfast"

 

using System;
using System.Text.RegularExpressions;

public class Kata
{
  public static string filterWords(string phrase)
  {
      string pattern = @"(?i)bad|mean|ugly|horrible|hideous\b";
      string replacement = "awesome";
      Regex rgx = new Regex(pattern);
      return rgx.Replace(phrase, replacement);
  }
}

 

转载于:https://www.cnblogs.com/chucklu/p/5056166.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值