经过2个小时查资料,写代码。终于成功解决VS 2010 复制代码到word出现乱码的问题。
图为 运行去除乱码运行程序界面
http://s15/middle/6697a7294a87b9beb8dae&6902010 复制代码到word出现乱码解决办法" TITLE="VS 2010 复制代码到word出现乱码解决办法" />
下面是主要代码
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 void buttonBegin_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格式用修正後的字串,其餘依原值