• 大小: 64.47 KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2024-09-27
  • 语言: C#
  • 标签: 文本替换  c#  

资源简介

有些时候需要替换一些文件,
有些现成的替换软件的正则表达式用的不太懂,因为语言之间是有点差别的
自己根据自己的习惯写了一个替换软件,
功能很简单,但很实用
配合正则测试工具(例如:The Regulator),对比软件(例如:Beyond Compare 2)
很方便

特殊说明:
默认替换的时候会产生一个备份,
但是会对所有匹配的扩展名进行备份
扩展名不要选*.*,要不备份的文件会再备份

若选强制备份,第二次替换的时候就会把第一次备份覆盖

写着gb2312地方是文件的编码

点击对比选中之后,会一直调用对比工具,点取消对比就可以

软件存在一些bug,所以附上源码

资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Diagnostics;
using System.Threading;
using TextReplace.Model;
using TextReplace.BLL;
using System.IO;
using System.Configuration;
using System.Text.Regularexpressions;

namespace TextReplace
{

    public partial class Form1 : Form
    {
        bool isNew = true;
        MCollectionCodeSegment m;
        bool isEnd = false;
        public Form1()
        {
            InitializeComponent();
        }

        /// 
        /// Handles the Click event of the button1 control.
        /// 

        /// The source of the event.
        /// The  instance containing the event data.
        private void button1_Click(object sender EventArgs e)
        {
            if (this.folderBrowserDialog1.ShowDialog() == DialogResult.OK)
            {
                this.path.Text = folderBrowserDialog1.SelectedPath;
            }
            ;
        }

        private void openFileDialog1_FileOk(object sender CancelEventArgs e)
        {
            this.path.Text = this.folderBrowserDialog1.SelectedPath;
        }

        private void button2_Click(object sender EventArgs e)
        {
            Replace();


        }

        private msgError Replace()
        {
            StringBuilder stringBuilderTemp = new StringBuilder();
            Encoding encoding = Encoding.Default;

            try
            {
                encoding = Encoding.GetEncoding(this.textBox3.Text);
            }
            catch (Exception)
            {
                this.textBox3.Text = encoding.WebName;
                MessageBox.Show(“编码错误,请重新设置“);
                return msgError.UnknowError;
                
            }
            string fileName = null;
            string fileNameBak = “.sunbak“;
            string path = this.path.Text;
            string findText = this.findText.Text;
            string replaceText = this.replaceText.Text;
            IList replaceTextResult = new List();//分解表达的结果
            int max;//分解表达式中\n的最大值
            string fileType = this.fileType.Text;
            bool isCase = this.isCase.Checked;
            bool isRex = this.isRex.Checked;
            bool isBak = this.isBack.Checked;
            bool isChildrenFolder = this.isChildrenFlolder.Checked;
            bool isResume = this.isResume.Checked;
            System.Text.Regularexpressions.RegexOptions regexOption;
            System.IO.SearchOption searchOption;
            System.IO.FileStream fileStream;
            System.IO.StreamReader streamReader;
            System.IO.StreamWriter streamWriter;

            if (!System.IO.Directory.Exists(path))
            {
                return msgError

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       1655  2009-06-25 18:56  TextReplace\TextReplace\app.config

     文件        854  2009-04-21 14:29  TextReplace\TextReplace\BLL\BCollectionCodeSegment.cs

     目录          0  2009-06-23 12:32  TextReplace\TextReplace\BLL

     文件      19303  2009-06-26 09:05  TextReplace\TextReplace\Form1.cs

     文件      35101  2009-06-25 18:56  TextReplace\TextReplace\Form1.Designer.cs

     文件       8320  2009-06-25 18:56  TextReplace\TextReplace\Form1.resx

     文件       3203  2009-04-22 13:43  TextReplace\TextReplace\Model\CodeSegments.cs

     目录          0  2009-06-23 12:32  TextReplace\TextReplace\Model

     文件      20480  2009-04-21 18:38  TextReplace\TextReplace\obj\Debug\Refactor\TextReplace.exe

     目录          0  2009-06-23 12:32  TextReplace\TextReplace\obj\Debug\Refactor

     目录          0  2009-06-23 12:32  TextReplace\TextReplace\obj\Debug\TempPE

     文件        842  2009-07-03 10:47  TextReplace\TextReplace\obj\Debug\TextReplace.csproj.GenerateResource.Cache

     文件      45056  2009-07-03 10:47  TextReplace\TextReplace\obj\Debug\TextReplace.exe

     文件        180  2009-07-03 10:47  TextReplace\TextReplace\obj\Debug\TextReplace.Form1.resources

     文件      60928  2009-07-03 10:47  TextReplace\TextReplace\obj\Debug\TextReplace.pdb

     文件        180  2009-07-03 10:47  TextReplace\TextReplace\obj\Debug\TextReplace.Properties.Resources.resources

     目录          0  2009-07-03 10:47  TextReplace\TextReplace\obj\Debug

     文件       2133  2009-07-03 10:53  TextReplace\TextReplace\obj\TextReplace.csproj.FileListAbsolute.txt

     目录          0  2009-06-23 12:32  TextReplace\TextReplace\obj

     文件        470  2007-11-23 08:13  TextReplace\TextReplace\Program.cs

     文件       1192  2007-11-23 08:13  TextReplace\TextReplace\Properties\AssemblyInfo.cs

     文件       2877  2007-11-23 08:13  TextReplace\TextReplace\Properties\Resources.Designer.cs

     文件       6136  2007-11-23 08:13  TextReplace\TextReplace\Properties\Resources.resx

     文件       2390  2009-06-25 18:56  TextReplace\TextReplace\Properties\Settings.Designer.cs

     文件        714  2009-06-25 18:56  TextReplace\TextReplace\Properties\Settings.settings

     目录          0  2009-06-25 18:56  TextReplace\TextReplace\Properties

     文件       3540  2009-07-03 11:17  TextReplace\TextReplace\TextReplace.csproj

     文件        168  2009-07-03 10:47  TextReplace\TextReplace\TextReplace.csproj.user

     文件       2475  2009-04-20 17:38  TextReplace\TextReplace\xmlHelper.cs

     目录          0  2009-06-26 09:05  TextReplace\TextReplace

............此处省略7个文件信息

评论

共有 条评论