1、资料管理器 private void Form2_Load(object sender,EventArgs e) { //文件的根路径 string path = "demo"; LoadDireatory(path,treeView1.Nodes); }
private void LoadDireatory(string path,TreeNodeCollection tnc) { //加载所有的目录 //GetDirectories获取指定目录中的子目录的名称 string[] dires = Directory.GetDirectories(path); //循环拿出里面的数据 for (int i = 0; i < dires.Length; i++) { //拿到文件的文件名 //GetFileNameWithoutExtension 返回不具有扩展名的指定路径字符串的文件名 string name = Path.GetFileNameWithoutExtension(dires[i]); TreeNode tn=tnc.Add(name); //递归 LoadDireatory(dires[i],tn.Nodes); } //加载每个目录下的文件 string[] file = Directory.GetFiles(path); for (int i = 0; i < file.Length; i++) { string fileName = Path.GetFileNameWithoutExtension(file[i]); TreeNode tn1 = tnc.Add(fileName); tn1.Tag=file[i]; } }
private void treeView1_Click(object sender,EventArgs e) { //选中相应的文件的文件名,双击打开里面的内容 if (treeView1.SelectedNode.Tag!=null) { //将文本内容显示在文本框中 textBox1.Text = File.ReadAllText(treeView1.SelectedNode.Tag.ToString(),Encoding.Default); } }
2、正则表达式验证邮箱 Console.WriteLine("请输入邮箱"); string email = Console.ReadLine(); //静态方法
bool result = Regex.IsMatch(email,"[0-9a-zA-Z_.-]+@[0-9a-zA-Z_-]+([.][a-zA-Z]+){1,2}"); if (result) { Console.WriteLine("是邮箱"); } else { Console.WriteLine("不是邮箱"); } Console.ReadKey(true);
3、提取页面的所有的邮箱 WebClient wc=new WebClient(); //设置该页面可以什么编码读取 wc.Encoding = Encoding.UTF8; //从这个地址上把所有的字符串下载下来 string html = wc.DownloadString("http://tieba.baidu.com/p/690777573"); //集合 MatchCollection matches = Regex.Matches(html,"([0-9a-zA-Z_.-]+)(@[0-9a-zA-Z_.-]+([.][a-zA-Z]+){1,2})"); //遍历所有的匹配的邮箱 foreach (Match item in matches) { if (item.Success) //判断是否匹配成功,可写可不写,但是,写上效率高点 { Console.WriteLine(item.Groups[1].Value+"===="+item.Groups[2].Value); } } Console.WriteLine("该页面总共有{0}个邮箱",matches.Count); Console.ReadKey();
4、敏感词处理 StringBuilder listMod = new StringBuilder();//需要审核的 StringBuilder listBanned = new StringBuilder();//禁止发帖的 private void Form2_Load(object sender,EventArgs e) { //组合正则表达式, //读取文件,返回一个字符串数组 string[] lines = File.ReadAllLines("mg.txt",Encoding.Default);
//循环遍历文本文件,将中间的“=”去掉 for (int i = 0; i < lines.Length; i++) { //将“=”去掉,返回一个集合 string[] msg = lines[i].Split(new char[]{'='},StringSplitOptions.RemoveEmptyEntries);
//再进行判断 if (msg[1] == "{MOD}") //需要审核的 { //那么就将这个需要审核的添加到第一个集合中 listMod.Append(msg[0] + "|"); } else if(msg[1]=="{BANNED}") { listBanned.Append(msg[0]+"|"); } } //好,这样我们将需要审核的和禁止发帖的练成了两个大的字符串,但是呢,每个字符串后面都多了一个“|”,我们需要把最后的“|”给切掉 //移除需要审核的(去除最后一个,长度是1) listMod.Remove(listMod.Length-1,1); //移除禁止发帖的 listBanned.Remove(listBanned.Length-1,1); }
//发帖 private void btnOk_Click(object sender,EventArgs e) { if (Regex.IsMatch(textBox1.Text,listMod.ToString())) { MessageBox.Show("需要审核才能发帖"); } else if (Regex.IsMatch(textBox2.Text,listBanned.ToString())) { MessageBox.Show("禁止发帖"); } else { textBox2.Text = textBox1.Text; } }
5、读取xml //加载该文件 XDocument xdc = XDocument.Load("1.xml"); //获取文件的根元素(根节点) XElement root = xdc.Root; //Console.WriteLine(root);//获取所有的元素 //Console.WriteLine(root.Name);//获取茛元素的名称
//获取根元素中所有的直接子元素 IEnumerable<XElement> eles = root.Elements(); foreach (XElement item in eles) { Console.WriteLine(item.Name+"====="+item.Attribute("classId").Value); //遍历的是所有的class元素(标签)下的所有的子元素(标签) foreach (XElement stu in item.Elements()) { //读取班级下面的根元素 Console.WriteLine(stu.Name+"======"+stu.Attribute("id").Value); //读取所有的姓名 Console.WriteLine(stu.Element("name").Value); //读取性别 Console.WriteLine(stu.Element("gender").Value); //读取年龄 Console.WriteLine(stu.Element("age").Value); } } Console.ReadKey(); (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|