广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C#字符串与正则表达式的图文详解
  • 791
分享到

C#字符串与正则表达式的图文详解

2024-04-02 19:04:59 791人浏览 薄情痞子
摘要

1.创建字符串 string 变量名 = "字符串内容";            string str = "abcdrf";             Conso

1.创建字符串

string 变量名 = "字符串内容";

           string str = "abcdrf";
            Console.WriteLine(str);

2.获取字符串的长度

变量名.Length

相当于调用了一个计算长度的方法

            string str = "abcdrf";
            Console.WriteLine(str);
            int len = str.Length;
            Console.WriteLine(len);

3.比较字符串是否一样可以直接使用 == 进行比较

4.字符串进行连接是用 + 进行连接,注意如果是字符型的数字,这里的 + 就是进行的连接,而不是加法

5.可以将字符串看做成数组,那么想要获取对应位置的字符,可以用 字符串名字[字符串的序号]

6.字符串是不可变的量,对字符串只能有添加不能修改和删除

字符串拼接的原理 

7.字符串的常用方法 

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

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

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

4.SubString0在字符串中检索给定位置的子字符串

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

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

7. Trim删除首尾的空白

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

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

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

11.IndexOf(方法,取得字符串第一次出现某个给定字符串或者字符的位置

12.IndexOfAny0方法,

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

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

            //1.CompareTo()方法,比较字符串的内容
            string b = "123";
            int flag = 0;
            flag = str.CompareTo(b);
            Console.WriteLine(flag); //不相同返回1
            string c = "ab   cd  rf";
            flag = str.CompareTo(c);
            Console.WriteLine(flag);//相同返回0
 
            Console.WriteLine("------------------------------------");
 
            //2.Replace()用另一个字符或者字符串替换字符串中给定的字符或者字符串
            str = str.Replace("a", "b");
            Console.WriteLine(str);
 
            Console.WriteLine("------------------------------------");
            //3.Split()在出现给定字符的地方,把字符串拆分称一个字符串数组
            string[] sArray = str.Split(',');
            foreach (string i in sArray)
                Console.WriteLine(i.ToString());
 
            Console.WriteLine("------------------------------------");
            //4.SubString()在字符串中检索给定位置的子字符串,相当于保留的是该索引往后的字符串
            Console.WriteLine(str.Substring(10));
 
            Console.WriteLine("-------------------------------------");
            //5.ToLower()把字符串转换成小写形式
            Console.WriteLine(str.ToLower());
 
            Console.WriteLine("--------------------------------------");
            //6.ToUpper(把字符串转换成大写形式
            Console.WriteLine(str.ToUpper());
 
            Console.WriteLine("--------------------------------------");
            //7. Trim()删除首尾的空白
            Console.WriteLine(str.Trim());
 
            Console.WriteLine("--------------------------------------");
            //8.Concat()方法,合并字符串
            string con = string.Concat("123", "abc", 1233);
            Console.WriteLine(con);
 
            Console.WriteLine("---------------------------------------");
            //9.CopyTo()方法,把字符串中指定的字符复制到一个数组中
            char[] arr = { 'I', 'n', 'c', 'l', 'u', 'd', 'H', 'e', 'l', 'p' };
            str.CopyTo(1, arr, 0, 6);
            foreach(char i in arr)
            {
                Console.Write(i);
            }
            Console.WriteLine();
 
            Console.WriteLine("---------------------------------------");
            //10.Format()方法,格式化字符串
            Console.WriteLine("{0}+{1}", 1, 2);
            Console.WriteLine("{0:c}", 1);
            Console.WriteLine(string.Format("{0}+{1}", 1, 2));
            Console.WriteLine(string.Format("{0:c}", 1));//结论string.Format可以省略
 
            Console.WriteLine("---------------------------------------");
            //11.IndexOf()方法,取得字符串第一次出现某个给定字符串或者字符的位置
            Console.WriteLine(str);
            Console.WriteLine(str.IndexOf('b'));
            Console.WriteLine(str.IndexOf('a'));//如果没有找到就返回-1
 
            Console.WriteLine("----------------------------------------");
            //12.IndexOfAny()方法
            char[] cd = { 'c','b'};
            Console.WriteLine(str.IndexOfAny(cd));//该方法是只要数组里面有一个元素在字符串                        
            里面就能返回对应的值,当两个都在的时候就返回最小的那个
    
            Console.WriteLine("-----------------------------------------");
            //13.Insert()把一个字符串实例插入到另一个字符串实例的制定索引处
            Console.WriteLine(str.Insert(3, "1234564879"));
 
            Console.WriteLine("------------------------------------------");
            //14.Join()合并字符串数组,创建一个新字符串
            char[] vs = { 'q', 'w', 'r', 'e' };
            Console.WriteLine(string.Join("",vs));

4.StringBuilder类

三种不同的初始化方式

            StringBuilder sb = new StringBuilder("123456");
 
            //增加
            sb.Append("abc");
            Console.WriteLine(sb);
 
            //插入,是在索引的前面插入
            sb.Insert(3, "g");
            Console.WriteLine(sb); 
 
            //移除,第一个是要移除的位置,第二个变量是要移除多少个
            sb.Remove(3,5);
            Console.WriteLine(sb);
 
            //替换
            sb.Replace("2", " love ");
            Console.WriteLine(sb);

string创建的字符串和stringbuilder创建的字符串区别不同在于,stringbuilder创建的字符串可以进行修改,可以这样去想,string的添加字符串,其实是在静态存储区新开辟了一个区域来存储,而stringbuilder是一个类似字符串数组的形式,可以进行增删改查

5.正则表达式

什么是正则表达式

        正则表达式是使用一种数学算法来解决计算机程序中的文本检索,匹配等问题,正则表达式语言是一种专门用于字符串处理的语言

        1.检索:通过正则表达式,从字符串中获取想要的部分

        2.匹配:判断给定的字符串是否符合正则表达式的过滤逻辑

正则表达式的组成

        正则表达式是由普通字符以及特殊字符(元字符)组成的文字模式。该模式描述在查找文字主体时待匹配的一个或多个字符串

static void Main(string[] args)
        {
            string str1 = "123456f";
            string str2 = "abcdef";
            string str3 = "abc1def";
 
            Console.WriteLine(Regex.IsMatch(str1, @""));//@字符让特殊字符失效
            Console.WriteLine(Regex.IsMatch(str1, @"\d"));
            Console.WriteLine(Regex.IsMatch(str1, @"\d*"));
            Console.WriteLine(Regex.IsMatch(str3, @"11*"));
            Console.WriteLine(Regex.IsMatch(str2, @"\d"));//\d代表查询该字符串里面是否存在一个数字,*代表有0个或多个数字
 
            //^规定整个字符串以什么开头
            Console.WriteLine(Regex.IsMatch(str1, @"^1"));
            Console.WriteLine(Regex.IsMatch(str1, @"^2"));
 
            //$匹配结尾
            Console.WriteLine(Regex.IsMatch(str1, @"f$"));
            Console.WriteLine(Regex.IsMatch(str1, @"2$"));
 
            string str4 = "456123987";
            Console.WriteLine(Regex.IsMatch(str4, @"^\d*$"));
            string str5 = "";
            Console.WriteLine(Regex.IsMatch(str5, @"^\d$")&& Regex.IsMatch(str5, @"^\d*$"));
 
            // \w 大小写字母 0-9 _   补集\W
            string str6 = "4af_d55";
            Console.WriteLine(Regex.IsMatch(str6, @"^\w*$"));
 
            //[]这个里面的任意字符出现就符合条件
            Console.WriteLine(Regex.IsMatch("abcdf", @"[fghj]"));
            Console.WriteLine(Regex.IsMatch("abdf", @"[c-j]"));//这个可以不区分大小写
            Console.WriteLine(Regex.IsMatch("、", @"[^c-j]"));//这个时候的^就代表了除了c-j的其他元素
 
            //是否是一个合法命名方法的正则表达式
            string str7 = "8dthfjJhf";
            string str8 = "dhfjahf";
            Console.WriteLine(Regex.IsMatch(str7, @"^\w*$")&& Regex.IsMatch(str7, @"^[^\d]"));
            Console.WriteLine(Regex.IsMatch(str8, @"^\w*$")&& Regex.IsMatch(str8, @"^[^\d]"));
            Console.WriteLine(Regex.IsMatch(str8, @"^[a-zA-z_]\w*$"));
            Console.WriteLine(Regex.IsMatch(str8, @"^\w*$"));
 
            //字符串的替换 .Replace()
            string str9 = "abc1d1f814u21s2i";
            Console.WriteLine(Regex.Replace(str9, @"[0-9]", "*"));
 
            //判断位数,通过{}来限制出现的次数
            string re = @"^\d{5,12}$";
            Console.WriteLine(Regex.IsMatch("456",re));
            Console.WriteLine(Regex.IsMatch("4e56",re));
            Console.WriteLine(Regex.IsMatch("45654665645645645654", re));
            Console.WriteLine(Regex.IsMatch("2802249004", re));
            Console.WriteLine(Regex.IsMatch("28022494", re));
        }
    }

择一匹配

将两个匹配条件进行逻辑,“或|”运算 

            Console.WriteLine(Regex.IsMatch("2", @"\d|a"));
            Console.WriteLine(Regex.IsMatch("a", @"\d|a"));
            Console.WriteLine(Regex.IsMatch("%", @"\d|a"));
             //重复单个字符
            Console.WriteLine(Regex.IsMatch("aa", @"a{2}"));
            Console.WriteLine(Regex.IsMatch("aac", @"a{2}"));
            Console.WriteLine(Regex.IsMatch("abab", @"ab{2}"));
            Console.WriteLine(Regex.IsMatch("abab", @"(ab){2}"));//()代表进行分组

总结

到此这篇关于C#字符串与正则表达式的文章就介绍到这了,更多相关C#字符串与正则表达式内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: C#字符串与正则表达式的图文详解

本文链接: https://www.lsjlt.com/news/168732.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C#字符串与正则表达式的图文详解
    1.创建字符串 string 变量名 = "字符串内容";            string str = "abcdrf";             Conso...
    99+
    2022-11-13
  • Java字符串 正则表达式详解
    目录一、规则表1.字符2.字符类 .3.边界匹配符4.逻辑操作符5.量词二、Pattern类1.Pattern类的实例获取—compile方法2.split方法3.Pattern中匹...
    99+
    2022-11-12
  • Python字符串与正则表达式详细介绍
    目录一、字符串相关操作 二、正则表达式相关操作一、字符串相关操作  1.统计所输入字符串中单词的个数,单词之间用空格分隔。其运行效果如下图所示。 s=input(...
    99+
    2022-11-13
  • C#正则表达式与HashTable详解
    目录1、正则表达匹配规则转义字符限定字符分组()2、C#中正则表达式构建与匹配正则表达式的替换正则表达式拆分HashTable概述及元素添加Hashtable遍历Hashtable元...
    99+
    2022-11-13
  • 正则表达式之字符串模式匹配实例详解
    目录前言什么是正则表达式字符范围匹配元字符多次重复匹配定位匹配贪婪模式与非贪婪模式表达式分组结语前言 今天我们来学习正则表达式,正则表达式的应用十分广泛,几乎每个涉及到交互的项目都会...
    99+
    2022-11-13
  • C#基础知识之字符串和正则表达式
    目录Stringstring 和 stringbuilder字符串格式$前缀StringFormat转义花括号日期时间和数字的格式正则表达式组总结String System.Stri...
    99+
    2022-11-13
  • PHP正则表达式之如何分割字符串与转义字符串
    这篇文章主要介绍“PHP正则表达式之如何分割字符串与转义字符串”,在日常操作中,相信很多人在PHP正则表达式之如何分割字符串与转义字符串问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”PHP正则表达式之如何分割...
    99+
    2023-06-25
  • java学习指南之字符串与正则表达式
    目录String构造方法格式控制字符串常用方法StringBuilder与StringBuffer特点理解可变与不可变字符串拼接方法字符串删除方法字符串内插入字符字符串替换方法字符串...
    99+
    2023-05-18
    java 字符串正则 java中正则表达式 java字符串与正则表达式
  • Go 语言中的字符串处理与正则表达式
    Go语言中的字符串处理和正则表达式可以使用内置的标准库`strings`和`regexp`来实现。字符串处理:1. 判断字符串是否包...
    99+
    2023-10-12
    Go语言
  • C#正则表达式字符串搜索内容有哪些
    本篇内容介绍了“C#正则表达式字符串搜索内容有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!C#正则表达式及字符串搜索1、正则表达式简介...
    99+
    2023-06-17
  • PHP学习笔记:字符串处理与正则表达式
    在PHP开发中,字符串处理和正则表达式是非常重要的技巧之一。无论是对用户输入的数据进行处理,还是对文本进行搜索和替换,字符串处理和正则表达式都能帮助我们实现更加灵活和高效的操作。本文将介绍一些常用的字符串处理函数和正则表达式的用法,并提供具...
    99+
    2023-10-21
    正则表达式 处理 PHP 学习笔记:字符串
  • Python正则表达式匹配字符串中的数字
    这篇文章主要介绍了Python正则表达式匹配字符串中的数字,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下1.使用“\d+”匹配全数字...
    99+
    2023-06-01
  • C#中如何使用正则表达式和字符串匹配
    C#中如何使用正则表达式和字符串匹配正则表达式是一种强大的文本处理工具,它可以帮助我们有效地在字符串中进行模式匹配和提取。在C#中,通过使用System.Text.RegularExpressions命名空间下的Regex类,我们可以轻松地...
    99+
    2023-10-22
    正则表达式 (Regex) 字符串匹配 (string matching) C#编程 (C# Programming)
  • C++ 正则表达式的应用详解
    目录一、为什么要学正则表达式C++string处理:二、正则程序库(regex)正则文法:正则库:匹配(Match)搜索(Search)替换(Replace)一、为什么要学正则表达式...
    99+
    2022-11-12
  • java怎么用正则表达式匹配与提取字符串
    本文小编为大家详细介绍“java怎么用正则表达式匹配与提取字符串”,内容详细,步骤清晰,细节处理妥当,希望这篇“java怎么用正则表达式匹配与提取字符串”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。首先给出一个匹...
    99+
    2023-07-02
  • java如何用正则表达式匹配与提取字符串
    java.util.regex类支持用正则表达式来匹配和提取字符串,读者可以去官网查看java.util.regex的详细使用方法。 首先给出一个匹配字符串的例子(判断line是否符...
    99+
    2022-11-13
  • python正则表达式对字符串的查找匹配
    目录常用的RegEx基础语法常用的RegEx函数以下为部分示例:总结Python中的正则表达式要用到re模块,下面先介绍一下正则表达式需要用到的特殊字符和说明 常用的RegEx基础语...
    99+
    2022-11-11
  • C#中怎么利用正则表达式匹配相关字符串
    今天就跟大家聊聊有关C#中怎么利用正则表达式匹配相关字符串,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。使用C#中使用正则表达式System.Text.RegularExpressi...
    99+
    2023-06-17
  • 用正则表达式匹配字符串中汉字及中文标点符号
    目录问题:比如:Ps:补充:总结问题: 在写项目时遇到需要匹配字符串中所有的汉字并且包括简单的中文标点符号 比如: 匹配下面这个完成的字符串 let str = '上传文件,你好呀,...
    99+
    2022-11-13
  • 详解正则表达式后面不要包含指定的字符串内容
    在正则表达式中,可以使用负向前瞻(negative lookahead)来实现后面不包含指定字符串内容的匹配。负向前瞻使用 `(!pattern)` 的形式,其中 `pattern` 是要排除的字符串内容。具体的用法如下:1. 匹配不包...
    99+
    2023-08-11
    正则表达式
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作