<s id="mvh2b"><strike id="mvh2b"><u id="mvh2b"></u></strike></s>
    1. <rp id="mvh2b"></rp>

      当前位置:首页 > IT教程

      C#高级编程(一)

      时间:2021-08-11 13:54:10来源:金橙教程网 作者:admin8 阅读:90次 [手机版]
       

      c#高级编程

      1.字符串正则表达式

      1,CompareTo()方法,比较字符串的内容

      2,Replace()用另一个字符或者字符串替换字符串中给定的字符或者字符串

      3,Split()在出现给定字符的地方,把字符串拆分称一个字符串数组

      4,SubString()在字符串中检索给定位置的子字符串

      5,ToLower()把字符串转换成小写形式

      6,ToUpper()把字符串转换成大写形式

      7,Trim()删除首尾的空白

      8,Concat()方法,合并字符串

      9,CopyTo()方法,把字符串中指定的字符复制到一个数组中

      10,format()方法,格式化字符串

      11,IndexOf()方法,取得字符串第一次出现某个给定字符串或者字符的位置,判断是否包含子字符串

      12,IndexOfAny()方法,

      13,Insert()把一个字符串实例插入到另一个字符串实例的制定索引

      14,join()合并字符串数组,创建一个新字符串

      using System;
      using System.Collections.Generic;
      using System.Linq;
      using System.text;
      using System.Threading.Tasks;
      
      namespace 字符串String
      {
          class Program
          {
              static void Main(string[] args)
              {
                  //  string s = "www.devsiki.com";   //使用string类型去存储字符串类型,使用双引号引起来
                  //int lengh = s.Length;
      
                  //if (s == "www.devsiki.com")
                  //{
                  //    Console.WriteLine("相同");
                  //}
                  //else
                  //{
                  //    Console.WriteLine("不相同");
                  //}
                  //Console.WriteLine(lengh);
                  //s = "http://" + s;
                  //Console.WriteLine(s);
                  //char c = s[3];
                  //Console.Write(c);
                  //for(int i = 0; i < s.Length; i++)
                  //{
                  //    Console.WriteLine(s[i]);
                  //}
                  //string s = "si,ki";
                  int res = s.CompareTo("szki");  //当两个字符串相等的时候,返回0,当s在字母表排序靠前的时候,返回-1,否则返回1
                  Console.WriteLine(res);
                    string newStr= s.Replace(',', '-');
                  //string newStr = s.Replace(",", "---");  //把指定的字符换成指定的字符或者字符串
                  //Console.Write(newStr);
                  string s = "www.siki.com";
                  //string[] strarray = s.Split('.');
                  //foreach(var temp in strArray)
                  //{
                  //    Console.WriteLine(temp);
                  //}
                  string str = s.Substring(4, 4);
                  Console.WriteLine(str);
                  Console.ReadKey();
      
              }
          }
      }
      

      using System;
      using System.Collections.Generic;
      using System.Linq;
      using System.Text;
      using System.Threading.Tasks;
      
      namespace _002_字符串StringBuilder
      {
          class Program
          {
              static void Main(string[] args)
              {
                  //1,
                  // StringBuilder sb = new StringBuilder("www.devsiki.com");//利用构造函数创建stringbuilder
                  //2
                  //StringBuilder sb = new StringBuilder(20);  //初始一个空的stringBuiler对象,占有20个字符的大小
                  //3
                  StringBuilder sb = new StringBuilder("www.desiki.com", 100);  //内容可变,string内容不可变、
                  //sb.Append("/xxx.html");  //增加到原来字符串的后面
                  //当我们需要对一个字符串进行频繁的删除和操作的时候,使用stringBuilder的效率比较高
                  //Console.WriteLine(sb.ToString());
                  //Console.ReadKey();
                  //string s = "www.desiki.com";
                  //s = s + "/xxx.html";
                  //Console.WriteLine(s);
                  //Console.ReadKey();
                  
                  //sb.Insert(0,"http://");
                  //sb.Remove(0, 3);
                  //sb.Replace('.', '-');
      
              }
          }
      }

      正则表达式

      using System;
      using System.Collections.Generic;
      using System.Linq;
      using System.Text;
      using System.Threading.Tasks;
      using System.Text.RegularExpressions;
      
      namespace _003_正则表达式
      {
          class Program
          {
              static void Main(string[] args)
              {
                  // string s = "I am blue cat.";
                  //string res= Regex.Replace(s,"^","开始:");//搜索字符串符合正则表达式的情况,然后把所有符合的位置替换成后面的字符串
                  // Console.WriteLine(res);
                  // Console.ReadKey();
      
                  //string res = Regex.Replace(s, "$", "结束");  //匹配结尾
                  //Console.WriteLine(res);
                  //Console.ReadKey();
      
                  string s = Console.ReadLine();
                  //bool isMatch = true;//默认标志位,表示s是一个合法密码(全部是数字)
                  //for (int i=0;i < s.Length; i++)
                  //{
                  //    if (s[i] < '0' || s[i] > '9')  //当前字符如果不是数字字符
                  //    {
                  //        isMatch = false;
                  //    }
                  //}
                  //if (isMatch)
                  //{
                  //    Console.WriteLine("是一个合法密码");
                  //}
                  //else
                  //{
                  //    Console.WriteLine("不是一个合法密码");
                  //}
      
      
                  //Console.ReadKey();
                  string pattern = @"^\d*$";//正则表达式  ^表示开头$表示结尾/d*表示一个或者多个数字
                  bool isMatch=  Regex.IsMatch(s,pattern);//意思是匹配s符合pattern的条件
                  Console.WriteLine(isMatch);
                  Console.ReadKey();
      
              }
          }
      }
      

      下面学习一下位于System.Text.RegularExpressions下的Regex类的一些静态方法和委托

      1,静态方法IsMatch (返回值是一个布尔类型,用于判断指定的字符串是否与正则表达式字符串匹配,它有三个重载方法)

      bool IsMatch(string input, string pattern);

      参数: input: ? ? ? 要搜索匹配项的字符串。

      pattern: ? ? 要匹配的正则表达式模式。

      返回结果: ?如果正则表达式找到匹配项,则为 true;否则,为 false。

      bool IsMatch(string input, string pattern, RegexOptions options);

      参数: input: ? ? ? 要搜索匹配项的字符串。

      pattern: ? ? 要匹配的正则表达式模式。

      options: ? ? 枚举值的一个按位组合,这些枚举值提供匹配选项。

      返回结果: ?如果正则表达式找到匹配项,则为 true;否则,为 false。

      bool IsMatch(string input, string pattern, RegexOptions options, TimeSpan matchTimeout);

      参数: input: ? ? ? ?要搜索匹配项的字符串。

      pattern: ? ? ?要匹配的正则表达式模式。

      options: ? ? ?枚举值的一个按位组合,这些枚举值提供匹配选项。

      matchTimeout: 超时间隔,或 System.Text.RegularExpressions.Regex.InfiniteMatchTimeout 指示该方法不应超时。

      返回结果: ?如果正则表达式找到匹配项,则为 true;否则,为 false。

      它是一个枚举类型,有以下枚举值

      RegexOptions枚举值 内联标志 简单说明

      ExplicitCapture n 只有定义了命名或编号的组才捕获

      IgnoreCASE i 不区分大小写

      IgnorePatternWhitespace x 消除模式中的非转义空白并启用由 # 标记的注释。

      MultiLine m 多行模式,其原理是修改了^和$的含义

      SingleLine s 单行模式,和MultiLine相对应

      内敛标志可以更小力度(一组为单位)的定义匹配选项

      我们知道正则表达式主要是实现验证,提取,分割,替换字符的功能.Replace函数是实现替换功能的.

      1 )Replace(string input,string pattern,string replacement) ?

      //input是源字符串,pattern是匹配的条件,replacement是替换的内容,就是把符合匹配条件pattern的内容转换成它

      比如string result = Regex.Replace("abc", "ab", "##"); ?

      //结果是##c,就是把字符串abc中的ab替换成##

      2 )Replace(string input,string pattern,string replacement,RegexOptions options) ? ? ?

      //RegexOptions是一个枚举类型,用来做一些设定.

      //前面用注释时就用到了RegexOptions.IgnorePatternWhitespace.如果在匹配时忽略大小写就可以用RegexOptions.IgnoreCase

      比如string result = Regex.Replace("ABc", "ab", "##",RegexOptions.IgnoreCase);

      如果是简单的替换用上面两个函数就可以实现了.但如果有些复杂的替换,比如匹配到很多内容,不同的内容要替换成不同的字符.就需要用到下面两个函数

      相关阅读

      程序设计模式————编程模式

      设计模式的分类 创建型模式&#xff0c;共五种&#xff1a;工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式

      C# panel1 控件显示多窗体

      using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; us

      高手教你如何从零开始学游戏编程

      开发游戏可能是学习编程的理由中最吸引人的一条了。但如何从零开始入门&#xff0c;达到能够开发游戏的编程水平&#xff0c;是困扰无数勇

      c语言编程sinx泰勒公式_强悍的泰勒公式

      “初次见你&#xff0c;我是那么讨厌你&#xff0c;后来的生活越来越离不开你&#xff0c;现在你是我心中的女皇。” ——献给美丽的泰勒公式

      30岁,如何转行到中高级运维工程师

      30岁的年龄&#xff0c;零基础开始学习&#xff0c;想达到初级工程

      分享到:

      IT相关

      程序相关

      推荐文章

      热门文章

      东北老女人嫖老头视频_无遮挡H肉动漫视频在线观看_欧美牲交a欧美牲交aⅴ另类_狼人乱码无限2021芒果