winform,检索指定文件夹下以及其子文件夹以.cs结尾的文件,获取文件中"和" 之间的,"和"在同一行且包含中文的字符串,将结果输出到项目文件夹下,r.txt文件
时间: 2024-02-17 22:01:04 浏览: 68
好的,我可以为您提供代码实现,您可以将以下代码粘贴到您的WinForm应用程序中:
```csharp
using System;
using System.IO;
using System.Text.RegularExpressions;
using System.Windows.Forms;
namespace YourNamespace
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
// 定义正则表达式
Regex regex = new Regex(@"(?<=和)[\u4e00-\u9fa5]+(?=和)");
// 获取项目文件夹路径
string projectPath = Path.GetDirectoryName(Application.StartupPath);
// 定义结果输出文件路径
string resultFilePath = Path.Combine(projectPath, "r.txt");
// 搜索指定文件夹下以及其子文件夹中以.cs结尾的文件
foreach (string filePath in Directory.GetFiles(textBox1.Text, "*.cs", SearchOption.AllDirectories))
{
// 读取文件内容
string fileContent = File.ReadAllText(filePath);
// 在文件内容中查找符合正则表达式的字符串
MatchCollection matches = regex.Matches(fileContent);
// 将匹配结果写入结果输出文件
foreach (Match match in matches)
{
File.AppendAllText(resultFilePath, match.Value + Environment.NewLine);
}
}
// 显示完成信息
MessageBox.Show("处理完成");
}
}
}
```
这是一个简单的WinForm应用程序,包含一个文本框和一个按钮。您需要将文件夹路径输入到文本框中,然后单击按钮运行程序。程序将搜索指定文件夹下以及其子文件夹中以.cs结尾的所有文件,然后在文件内容中查找符合正则表达式的字符串,并将匹配结果输出到项目文件夹下的r.txt文件中。
请注意,此代码仅适用于包含中文字符的字符串之间仅有一个"和"字符的情况。如果有多个"和"字符或"和"字符不在同一行,程序将无法正确处理。
阅读全文