# 符号替换工具
**Repository Path**: harryxiaocn/symbol-replacement-tool
## Basic Information
- **Project Name**: 符号替换工具
- **Description**: 符号替换工具
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2024-11-22
- **Last Updated**: 2024-11-22
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 字符串替换工具
## 简介
这是一个基于 VB.NET 的字符串替换工具,用于批量处理指定目录中的文件。该工具可以读取文件内容,根据用户定义的规则进行字符串替换,并将结果写回到文件中。支持多种文件编码格式。
## 功能
- 批量处理指定目录中的文件。
- 支持多种文件扩展名。
- 支持正则表达式替换。
- 支持多种文件编码格式。
- 友好的用户界面。
## 使用说明
### 界面控件说明
1. **目录路径 (TextBox1)**:
- 输入要处理的文件夹路径。
- 例如:`C:\Users\YourName\Documents`
2. **文件扩展名 (TextBox2)**:
- 输入要处理的文件扩展名,多个扩展名用逗号分隔。
- 例如:`txt,md,csv`
3. **正则表达式 (TextBox3)**:
- 输入用于匹配字符串的正则表达式。
- 例如:`\n`
4. **替换字符串 (TextBox4)**:
- 输入用于替换匹配字符串的内容。
- 例如:`
`
5. **编码选择 (ComboBox1)**:
- 选择文件的编码格式。
- 默认选中 `gb2312` 或 `utf-8`,如果未找到则选中第一个编码。
6. **开始处理 (Button1)**:
- 点击按钮开始处理文件。
### 步骤
1. **设置目录路径**:
- 在 `TextBox1` 中输入要处理的文件夹路径。
2. **设置文件扩展名**:
- 在 `TextBox2` 中输入要处理的文件扩展名,多个扩展名用逗号分隔。
3. **设置正则表达式**:
- 在 `TextBox3` 中输入用于匹配字符串的正则表达式。
4. **设置替换字符串**:
- 在 `TextBox4` 中输入用于替换匹配字符串的内容。
5. **选择文件编码**:
- 在 `ComboBox1` 中选择文件的编码格式。
6. **开始处理**:
- 点击 `Button1` 开始处理文件。
### 示例
假设你有一个文件夹 `C:\Users\YourName\Documents`,里面有一些 `.txt` 和 `.md` 文件,你想将文件中的换行符 `\n` 替换为 HTML 标签 `
`,并且文件的编码格式是 `utf-8`。
1. 在 `TextBox1` 中输入 `C:\Users\YourName\Documents`。
2. 在 `TextBox2` 中输入 `txt,md`。
3. 在 `TextBox3` 中输入 `\n`。
4. 在 `TextBox4` 中输入 `
`。
5. 在 `ComboBox1` 中选择 `utf-8`。
6. 点击 `Button1` 开始处理文件。
## 技术细节
### 主要方法
1. **MultiReplace**:
- 功能:批量替换字符串。
- 参数:
- `input`:要进行替换的原始字符串。
- `replacements`:可变参数数组,每两个参数组成一对替换规则。
- 示例:
```vb.net
Dim result As String = MultiReplace("Hello, World!", "World", "Universe")
```
2. **Button1_Click**:
- 功能:处理文件的点击事件。
- 逻辑:
- 获取目录中的所有文件。
- 根据文件扩展名过滤文件。
- 读取文件内容,指定编码格式。
- 使用正则表达式和用户定义的替换字符串进行替换。
- 将结果写回到文件中。
3. **Form1_Load**:
- 功能:加载窗体时初始化编码选择下拉框。
- 逻辑:
- 获取所有可用的编码信息。
- 将编码名称和描述添加到 `ComboBox1` 中。
- 设置默认选中项为 `gb2312` 或 `utf-8`。
## 注意事项
- 确保输入的路径和文件扩展名正确无误。
- 正则表达式和替换字符串应符合预期的替换逻辑。
- 处理大量文件时,可能需要较长时间,请耐心等待。
## 联系方式
如果有任何问题或建议,请联系 [xiaoharry@foxmail.com]。