17._11本章小结及任务实施

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Text.RegularExpressions;
using System.Collections;

namespace _17._11本章小结及任务实施
{
    class Program
    {
        static void Main(string[] args)
        {
            string str = "我爱你,我的中国。我喜欢我要自学网";
            string pattern = @"[^\u4e00-\u9fa5]";
            Regex regex = new Regex(pattern);
            string chnstr = regex.Replace(str, "");//替换非中文字符
            Hashtable ht = new Hashtable();
            for(int i=0; i < chnstr.Length; i++)
            {
                int val = 1;
                if (ht.ContainsKey(chnstr[i]))
                {
                    val = Convert.ToInt32(ht[chnstr[i]]);
                    ++val;
                }
                ht[chnstr[i]] = val;

            }
            Console.WriteLine("原有的字符串是:" + str);
            Console.WriteLine("修剪后的字符串是:"+chnstr);
            foreach (DictionaryEntry de in ht)
            {
                Console.WriteLine("{0}----------{1}", de.Key, de.Value);
            }
            Console.Read();

        }
    }
}
时间: 2024-12-11 14:02:54

17._11本章小结及任务实施的相关文章

18._7章小结及任务实施

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace _18._7章小结及任务实施 { class QQState { string[] qqState = {"在线","离线","Q我","隐身","忙碌" }

《TCP/IP详解卷1:协议》第17、18章 TCP:传输控制协议(1)-读书笔记

章节回顾: <TCP/IP详解卷1:协议>第1章 概述-读书笔记 <TCP/IP详解卷1:协议>第2章 链路层-读书笔记 <TCP/IP详解卷1:协议>第3章 IP:网际协议(1)-读书笔记 <TCP/IP详解卷1:协议>第3章 IP:网际协议(2)-读书笔记 <TCP/IP详解卷1:协议>第4章 ARP:地址解析协议-读书笔记 <TCP/IP详解卷1:协议>第5章 RARP:逆地址解析协议-读书笔记 <TCP/IP详解卷1:协

《TCP/IP详解卷1:协议》第17、18章 TCP:传输控制协议(2)-读书笔记

章节回顾: <TCP/IP详解卷1:协议>第1章 概述-读书笔记 <TCP/IP详解卷1:协议>第2章 链路层-读书笔记 <TCP/IP详解卷1:协议>第3章 IP:网际协议(1)-读书笔记 <TCP/IP详解卷1:协议>第3章 IP:网际协议(2)-读书笔记 <TCP/IP详解卷1:协议>第4章 ARP:地址解析协议-读书笔记 <TCP/IP详解卷1:协议>第5章 RARP:逆地址解析协议-读书笔记 <TCP/IP详解卷1:协

C++ 编程第二章小结

switch()用法的注意事项 1:switch语句中的表达式只能是整形数据,字符型数据和枚举型数据,case后面的产量表达式的类型必须与switch括号后面的类型相匹配 2:各个case(包括default)的出现次序可以任意,每个case在带有break的前提下,case的次序不影响执行结果 循环设计 循环设计的几种分类方法这里介绍几种 1:字符图形类 2:素数判断类 3:逻辑判断类 4:级数逼近类 a:对于图形类的基本循环格式一般是 for(int i = 1; i < 10 ;i ++)

shell学习小总结----本章小结

本章小结 变量在正是一点的程序里是必备项目.shell的变量会保留字符串值,而大量的运算符可以在${var...}里使用,让你控制变量的结果. shell提供了许多的特殊变量(例如#?与$!),用来访问特殊信息,例如,命令退出状态.shell也有许多预定义的特殊变量,例如PS1----用来设置主要提示符.位置参数与$*和[email protected]这类的特殊变量,则用来在脚本(或函数)被引用是,让用户可以访问被使用的参数.env,export以及readonly则用来控制环境. $((..

第二章小结

第二章小结 早听说数据结构要比程序设计要难,我早早就做好了心理准备,可是现实好像比我想象的还要难一些.这个星期基本结束了第二章关于线性表的学习.对于顺序表,上学期接触的比较多学起来还算比较顺利.链表就有一点困难了.书上没有完整的代码段,只是一些算法,不得不说一开始我真的有点蒙圈的感觉.但后面经过了预习以及上网查找资料就开始慢慢接受了单链表. 和顺序表不同,单链表是存储在连续或者不连续的空间里面的.每一个数据都必须跟着一个地址,指向下一个数据.虽然可能空间利用率比不上顺序表,但在插入删除操作时就显

第三章小结--栈与队列

第三章小结 第三章我们主要学习了栈和队列.经过第一次的写博客,与课后的学习与借鉴.我看到很多其他的同学在整理知识的时候采用了画大纲图,架构图的方法.不得不说,那样子确实比纯粹的文字更加简单明了.于是我决定也学习和效仿一下. 以下便是图解: 通过大图来看,很明显,和前面学习的顺序表,链表栈和队列的操作有同工异曲之妙.实际上围绕着栈和队列的也是分为两大分支,顺序表和链表.操作也是从初始化,插入,删除,查找几个操作入手. 当然,也有不同的地方,栈是典型的先进而后出,队列则是先进先出,其插入和删除的操作

第7章小结

第七章小结 查找 根据这一章的题目,显而易见,这一张讲的是查找.虽然在之前的学习中,我们已经解除了不少的查找功能,但事实上,查找是一个可复杂可简单的过程.我们之前接触的查找大多数都比较的简单,而在学习完这一章后,我们会发现,事实上查找有很多种办法,也会发现,不同的情况,不同的存储结构都需要不同的查找方法. 以下为一些查找的概念和术语: ①关键字:数据元素(记录)中某个数据项的值,用它可以表示一个数据元素. ②动态查找表/静态查找表:若在查找的过程中进行修改操作(插入或删除),则相应的表为动态查找

Unity 游戏框架搭建 2019 (九~十二) 第一章小结&amp;第二章简介&amp;第八个示例

第一章小结 为了强化教程的重点,会在合适的时候进行总结与快速复习. 第二章 简介 在第一章我们做了知识库的准备,从而让我们更高效地收集示例. 在第二章,我们就用准备好的导出工具试着收集几个示例,这些示例中有的是我们后续库的基础工具,也有的是在项目中非常实用的小工具,还有一些示例是实践了在框架搭建方向上非常重要的 C# 语法知识. 第二章大纲如下. 第八个示例(一) 在之前,我们完成了一个导出的功能.但是在完成这个功能的过程中,我们也遇到了一些问题.我们回忆一下,在<MenuItem 复用>的这