using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Text.RegularExpressions;
namespace Take_Out_Messy_Code
{
public partial class Form1 : Form
{
public Form1(){InitializeComponent();}
private voidbuttonBegin_Click(object sender, EventArgs e){//取得剪贴簿内容
IDataObject dataObject = Clipboard.GetDataObject();if(dataObject.GetDataPresent(DataFormats.Rtf)){//取出RTF格式
string rtf = dataObject.GetData(DataFormats.Rtf) as string;//以Regex.Replace去除多馀字元(注: 不管是否有问题,一律强制处理)
string fixedRtf =
Regex.Replace(rtf, @"\\uinput2(?<uc>\\u-?\d*)\s..",(m)=>{return m.Groups["uc"].Value +"?";});//另建新DataObject物件
DataObject newDataObject = new DataObject();//RTF格式用修正后的字串,其馀依原值
foreach (String t in dataObject.GetFormats())
newDataObject.SetData(t,
t =="Rich Text Format"? fixedRtf :
dataObject.GetData(t));//将修正后内容写入剪贴簿
Clipboard.SetDataObject(newDataObject, true);
MessageBox.Show("Take Out Pessy Code successful!");}}}}