using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text.RegularExpressions; using System.Windows.Forms; using Microsoft.International.Converters.PinYinConverter; namespace IShutUp { class Program { [STAThreadAttribute] static void Main(string[] args) { string body = ""; IDataObject iData = Clipboard.GetDataObject(); if (iData != null && iData.GetDataPresent(DataFormats.Text)) body = (String)iData.GetData(DataFormats.Text); else body = "请选择文字后运行文件"; StreamReader banTxt = new StreamReader(@"敏感词表.txt", System.Text.Encoding.Default); Regex re = new Regex(@"\r\n"); string[] banWords = re.Split(banTxt.ReadToEnd()); List<string> wordsHas = new List<string>(); foreach (string item in banWords) { if (body.Contains(item)) { wordsHas.Add(item); } } wordsHas=wordsHas.Distinct().ToList(); foreach (string banWord in wordsHas) { body = body.Replace(banWord, GetTongYinCi(banWord)); } Clipboard.SetText(body); } public static string GetTongYinCi(string banWords) { string words = ""; foreach (char banWord in banWords) { Random ran = new Random(); ChineseChar banWordChineseChar =new ChineseChar(banWord); char[] wordsa = ChineseChar.GetChars(banWordChineseChar.Pinyins[ran.Next(0,banWordChineseChar.PinyinCount-1)]); int ranNum = ran.Next(0, wordsa.Length); words += wordsa[ranNum].ToString() + "(" + banWordChineseChar.Pinyins[0] + ")"; } return words; } } }
转载于:https://www.cnblogs.com/yixiaozi/p/4750020.html