winform,检索指定文件夹下以及其子文件夹以.cs结尾的文件,获取文件中双引号之间的,包含中文的字符串,该字符串为单行,最后将结果输出到项目文件夹下,r.txt文件
时间: 2024-02-17 07:01:07 浏览: 62
好的,以下是代码实现:
```csharp
using System;
using System.IO;
using System.Linq;
using System.Windows.Forms;
namespace YourNamespace
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
// 获取项目文件夹路径
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[] lines = File.ReadAllLines(filePath);
// 查找包含中文的单行字符串
var result = from line in lines
where line.Contains("\"") && line.Contains("\u4e00-\u9fa5") && line.Split('\"').Count() == 3
select line.Split('\"')[1];
// 将匹配结果写入结果输出文件
foreach (string s in result)
{
File.AppendAllText(resultFilePath, s + Environment.NewLine);
}
}
// 显示完成信息
MessageBox.Show("处理完成");
}
}
}
```
这是一个简单的WinForm应用程序,包含一个文本框和一个按钮。您需要将文件夹路径输入到文本框中,然后单击按钮运行程序。程序将搜索指定文件夹下以及其子文件夹中以.cs结尾的所有文件,然后在文件内容中查找符合条件的字符串,并将匹配结果输出到项目文件夹下的r.txt文件中。
请注意,此代码仅适用于双引号之间仅包含一个中文字符且该字符串为单行的情况。如果有多个中文字符或双引号不在同一行,程序将无法正确处理。
阅读全文