C#中字符串方法

字符串属性:Lenght  长度比最大索引大1 

string str = "frerfgd";
1.可以通过索引,获取字符串中的某一个字符,下标“0,1.......”
Console.WriteLine(str[0]);//f
Console.WriteLine(str[1]);//r
//Console.WriteLine(str[20]); 下标越界“不存在的下标”,报错
Console.WriteLine(str.Length);//7  获取字符串长度“获取字符的个数” 
Console.WriteLine(str.Length-1);//6

字符串遍历

 for (int i = 0; i < str.Length; i++){Console.WriteLine(str[i]);//frerfgd}

 字符串内置了很多的API(函数), API就是一个对象里面提供的属性或提供的方法,别人准备好的直接拿来用。

字符串可以通过索引来访问,如:str[index],因为string类中定义一个索引器。

1. Concat( )  拼接字符串

 String.Concat(字符串1+ 字符串n) ,参数可以是多个,使用逗号隔开。

 string s1 = "hello", s2 = "你好", s3 = "123";int num = 1000;//①字符串拼接string s4 = s1 + s2 + s3;Console.WriteLine(s4);//hello你好123//②
//Concat()拼接字符串,参数可以是多个,使用逗号隔开。
s4 = string.Concat(s1, s2, s3, num);
Console.WriteLine(s4);//hello你好1231000

2.Contains( ):

字符串1.Contains(字符串2) ,判断参数是否在字符串中存在,返回布尔值,使用bool值去接收。

 bool b = s4.Contains(s1);//bool b1 = s4.Contains("13"); //false  不相邻会报错Console.WriteLine(b);//true

3.  CopyTo(c1,c2,c3,c4) :

字符串1.CopyTo(0,空数组,0,5) ,从字符串中复制一部分字符到一个字符数组中

Console.WriteLine(s4);//hello你好1231000
//声明了一个长度为10的字符数组
char[] chars = new char[10];
//CopyTo(c1,c2,c3,c4) 从字符串中复制一部分字符到一个字符数组中
//参数(1,字符串开始复制的下标。2.字符数组。3.插入字符数组的起始下标。4.复制的个数。)  2.字符数组一般推荐使用Length,从数组末尾插入一个,不会把别的给代替了
s4.CopyTo(1, chars, 0, 5);
//将char类型数组转换为字符串。
string charStr = new string(chars);
Console.WriteLine(charStr);//ello你

4. StartsWith( ):

字符串1.StartsWith("字符串") ,判断参数字符,在字符串中是否是开头字符,返回布尔值。

string names = "张杰毛不易张三毛晓彤CC";
Console.WriteLine(names.StartsWith("张"));//true
Console.WriteLine(names.StartsWith("毛"));//false
Console.WriteLine(names.StartsWith("张毛"));//false

5. EndsWith( ):

字符串1.EndsWith("字符串") ,判断参数字符,在字符串中是否是结束字符,返回布尔值。

EndsWith() 判断参数字符,在字符串中是否是结束字符,返回布尔值。
Console.WriteLine(names.EndsWith("易"));//true
Console.WriteLine(names.EndsWith("毛"));//false

6. Equals( )

字符串1.Equals("字符串") ,判断源字符串(谁调用的)和 参数字符串是否完全相等 ==,相等返回true,不相等返回false。

string names = "张杰毛不易张三毛晓彤CC";
Console.WriteLine(names.Equals(names));//true
Console.WriteLine(names.Equals(s4));//false

7. IndexOf( )

字符串1. IndexOf("字符串") ,查询参数在字符串中第一次出现的下标,找不到返回-1

Console.WriteLine(names.IndexOf("张"));//0
Console.WriteLine(names.IndexOf("毛"));//2
Console.WriteLine(names.IndexOf("李"));//-1 不存在返回-1
Console.WriteLine(names.IndexOf("c"));//-1 区分大小写
Console.WriteLine(names.IndexOf("C"));//10

8. LastIndexOf( )

字符串1.Lastlndex0f("字符串") ,查询参数在字符串中最后一次出现的下标,找不到返回-1

Console.WriteLine(names.LastIndexOf("张"));//5
Console.WriteLine(names.LastIndexOf("毛"));//7
Console.WriteLine(names.LastIndexOf("李"));//-1

9. 会忽略 大小写进行查询

string str1 = "aseafefAbDASFBa";
Console.WriteLine(str1.IndexOf("b")); //8
// 会忽略 大小写进行查询
Console.WriteLine(str1.IndexOf("b", StringComparison.OrdinalIgnoreCase)); //8
Console.WriteLine(str1.IndexOf("a", 3)); //3, 从指定的索引位置开始查询指定字符
Console.WriteLine(str1.LastIndexOf("a", 3)); //3,从后向前查询参数字符串首次出现的索引位置。

10. IndexOfAny( char[ ] )

字符串1.lndex0fAny(字符类型的数组) ,从前向后查询源字符串中首次出现的指定字符数组中任意一个字符的位置

Console.WriteLine(str1.IndexOfAny(new char[] { 'b', '1', '2', 'a' }));//0

11. LastIndexOfAny( char[ ] )

字符串1.Lastlndex0fAny(字符类型的数组),从后向查前询源字符串中首次出现的指定字符数组中任意一个字符的位置

Console.WriteLine(str1.LastIndexOfAny(new char[] { 'b', '1', '2', 'a' }));//14

12. Insert( )

插入:字符串1.Insert(插入索引,插入的字符串) ,在指定下标的位置插入指定的字符串,形成新的字符串。

string oldString = "hello";
string newStr4 = oldString.Insert(1, "AAAA");
Console.WriteLine(newStr4);// hAAAAello
Console.WriteLine(oldString);//hello

13. Remove( )

字符串1.Remove(索引,删除个数) 

删除,一个参数从指定下标开始删除到字符串末尾,返回新的字符串

string newStr5 = oldString.Remove(1, 3);
Console.WriteLine(newStr5);//ho
Console.WriteLine(oldString);//hello

14. Replace( )

字符串1.Replace (old, new)

替换,新旧字符串替换,也可以替换某个字符,返回新的字符串

string newStr6 = oldString.Replace("ll", "AA");
Console.WriteLine(newStr6);//heAAo
Console.WriteLine(oldString);//hellostring newStr7 = oldString.Replace('l', 'A');
Console.WriteLine(newStr7);//heAAo
Console.WriteLine(oldString);//hello

15. IsNullOrEmpty( )

判断参数是否是Null 或者 是Empty"空字符串"和WhiteSpace空格,是返回true,不是返回false。

string str2 = "";
string names = "张杰毛不易张三毛晓彤CC";
Console.WriteLine(string.IsNullOrEmpty(str2));//true
Console.WriteLine(string.IsNullOrEmpty(names));//false
Console.WriteLine(string.IsNullOrEmpty(null));//True

16. Join(参数1,参数2)

字符串拼接:("分隔符",数组) 指定什么东西把数组拼接成字符串

char[] cs = new char[] { 'b', '1', '2', 'a' };
string[] ss = new string[] { "张三", "李四", "王五" };
Console.WriteLine(string.Join("-", ss));//张三-李四-王五
Console.WriteLine(string.Join("=》", cs));//b=》1=》2=》a

17. SubString( )

截取字符串。参数1:起始索引 参数:截取长度

string[] strs4 = new string[] { "你好", "hello", "world" };
Console.WriteLine(string.Concat(strs4));//你好helloworld//SubString()截取字符串。参数1:起始索引 参数:截取长度
Console.WriteLine("hello".Substring(1, 3));//ell

18. ToUpper( ) 将字母切换为大写

      ToLower()  将字母切换为小写

//ToUpper( ) 将字母切换为大写
Console.WriteLine("hello".ToUpper());//HELLO
Console.WriteLine("HELLO".ToUpper());//HELLO
Console.WriteLine("中文".ToUpper());//中文//ToLower()  将字母切换为小写
Console.WriteLine("Hello".ToLower());//hello
Console.WriteLine("HELLO".ToLower());//hello
Console.WriteLine("中文".ToLower());//中文

19. ToString( )平时省略

Console.WriteLine("hello");//hello
Console.WriteLine("hello".ToString());//hello

20. Trim( ) 去除字符串两端的空格,但不会去除中间的空格。

      TrimEnd( )去除右侧的空白

     TrimStart( )去除左侧的空白

Console.WriteLine("    hel    lo    ".Trim());//hel    lo
Console.WriteLine("    hel    lo    ".TrimEnd().TrimStart());//hel    lo

21. ToCharArray( )

字符串1.ToCharArray(开始的索引,数组中的个数)不传参默认整个字符串,将一个字符串转换为char数组

char[] char2 = names.ToCharArray();
for (int i = 0; i < char2.Length; i++)
{Console.WriteLine($"{char2[i]}");
}

22. Split( " , " )

字符串1.Split("分隔符") ("自定义多个分割符","")

分割,从指定的参数字符位置开始分割,返回一个分割后对的数组。

names = "张杰,毛不易,张三,毛晓彤";
string[] arrStr = names.Split(',');//一定要有指定字符,不然没办法切割成功
for (int i = 0; i < arrStr.Length; i++)
{Console.WriteLine($"{arrStr[i]}");
}

23. SubString( )

截取字符串。参数1:起始索引 参数:截取长度

string[] strs4 = new string[] { "你好", "hello", "world" };
Console.WriteLine("hello".Substring(1, 3));//ell

24. string.Format( ) 格式化

//字符串格式化
Console.WriteLine("姓名{0},年龄{1},性别{2}", "张三", 30, true); //姓名张三,年龄30,性别True
Console.WriteLine("{0},{1}", "张三", 30, true);//张三,30Console.WriteLine(string.Format("姓名{0},年龄{1},性别{2}", "张三", 30, true)); //姓名张三,年龄30,性别True
Console.WriteLine(string.Format("{0,10}", "张三", 30, true));//张三  一个数据至少有几个字符

25. string.Format( )和ToString( ): 字符串格式化

 参考:https://learn.microsoft.com/zh-cn/dotnet/standard/base-types/standard-numeric-format-strings

// C货币   {0:C3},其中0表示参数索引,C3表示显示成货币,并保留3位小数
Console.WriteLine(string.Format("{0:C3}----{1:c2}", 12, 13));//¥12.000----¥13.00// N数字  显示成数字,并保留3位小数
Console.WriteLine(string.Format("{0:N3}", 12));//12.000// P百分比,显示成百分比,保留3位小数
Console.WriteLine(string.Format("{0:P3}", 0.12));//12.000%// X,Hex 16进制   0-9,A,B,C,D,E,F  显示成16进制
Console.WriteLine(string.Format("{0:X}", 12));//CConsole.WriteLine(12.ToString("N1"));//12.0
Console.WriteLine(12.ToString("C1"));//¥12.0double num1 = .12D;
double num2 = 0.12D;
Console.WriteLine(0.12.ToString("P3"));//12.000%Console.WriteLine(12.ToString("X"));//C

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/68724.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring Boot--@PathVariable、@RequestParam、@RequestBody

目录 声明&#xff01;&#xff01; 什么是RESTful&#xff1f; RESTful 的基本原则 无状态性&#xff08;Stateless&#xff09; 统一接口&#xff08;Uniform Interface&#xff09; 分层系统&#xff08;Layered System&#xff09; 缓存&#xff08;Cacheable&#…

React的响应式

在 React 中&#xff0c;useState 是一个 Hook&#xff0c;用于在函数组件中定义和管理状态。 setCount 是由 useState 返回的第二个值&#xff0c;用于更新状态并触发组件重新渲染。它的本质是一个状态更新函数&#xff0c;背后是 React 的状态管理和调度机制。下面是对 setCo…

Docker Compose的使用

文章首发于我的博客&#xff1a;https://blog.liuzijian.com/post/docker-compose.html 目录 Docker Compose是什么Docker Compose安装Docker Compose文件Docker Compose常用命令案例&#xff1a;部署WordPress博客系统 Docker Compose是什么 Docker Compose是Docker官方的开源…

ovs实现lb负载均衡

负载均衡定义 负载均衡器的实现原理是通过硬件或软件设备将客户端访问流量根据转发策略分发到多个服务器或设备上&#xff0c;以确保系统的负载均衡。常见的实现方式包括&#xff1a; 二层负载均衡‌&#xff1a;使用虚拟MAC地址方式&#xff0c;根据OSI模型的二层进行负载均…

JDK长期支持版本(LTS)

https://blogs.oracle.com/java/post/the-arrival-of-java-23 jdk长期支持版本&#xff08;LTS&#xff09;&#xff1a;JDK 8、11、17、21&#xff1a;

AI 在人形机器人发展中的作用

摘要&#xff1a;本文主要探讨了 AI 在人形机器人发展中的关键作用。通过对相关技术和应用案例的分析&#xff0c;阐述了 AI 如何赋予人形机器人智能感知、学习决策、自然语言处理及运动控制等能力&#xff0c;推动人形机器人在多领域的应用和产业发展&#xff0c;同时也对其面…

python(25) : 含有大模型生成的公式的文本渲染成图片并生成word文档(支持flask接口调用)

公式样例 渲染前 \[\sqrt{1904.615384} \approx 43.64\] 渲染后 安装依赖 pip install matplotlib -i https://mirrors.aliyun.com/pypi/simple/ requestspip install sympy -i https://mirrors.aliyun.com/pypi/simple/ requestspip install python-docx -i https://mirro…

SSM宠物医院信息管理系统

&#x1f345;点赞收藏关注 → 添加文档最下方联系方式咨询本源代码、数据库&#x1f345; 本人在Java毕业设计领域有多年的经验&#xff0c;陆续会更新更多优质的Java实战项目希望你能有所收获&#xff0c;少走一些弯路。&#x1f345;关注我不迷路&#x1f345; 项目视频 宠…

Swift 专题二 语法速查

一 、变量 let, var 变量是可变的&#xff0c;使用 var 修饰&#xff0c;常量是不可变的&#xff0c;使用 let 修饰。类、结构体和枚举里的变量是属性。 var v1:String "hi" // 标注类型 var v2 "类型推导" let l1 "标题" // 常量class a {…

mysql查看binlog日志

mysql 配置、查看binlog日志&#xff1a; 示例为MySQL8.0 1、 检查binlog开启状态 SHOW VARIABLES LIKE ‘log_bin’; 如果未开启&#xff0c;修改配置my.ini 开启日志 安装目录配置my.ini(mysql8在data目录) log-binmysql-bin&#xff08;开启日志并指定日志前缀&#xff…

某国际大型超市电商销售数据分析和可视化

完整源码项目包获取→点击文章末尾名片&#xff01; 本作品将从人、货、场三个维度&#xff0c;即客户维度、产品维度、区域维度&#xff08;补充时间维度与其他维度&#xff09;对某国际大型超市的销售情况进行数据分析和可视化报告展示&#xff0c;从而为该超市在弄清用户消费…

Linux 存储设备和 Ventoy 启动盘制作指南

一、Linux 存储设备基础知识 1. 设备路径&#xff08;/dev&#xff09; 设备路径是 Linux 系统中物理存储设备的唯一标识&#xff0c;类似设备的"身份证号"。 命名规则解析 /dev/sda&#xff1a; /dev&#xff1a;device&#xff08;设备&#xff09;的缩写&…

PostgreSQL-01-入门篇-简介

文章目录 1. PostgreSQL是什么?2. PostgreSQL 历史 2.1. 伯克利 POSTGRES 项目2.2. Postgres952.3. PostgreSQL来了 3. PostgreSQL vs MySQL4. 安装 4.1 Windows 安装4.2 linux 安装4.3 docker安装 1. PostgreSQL是什么 PostgreSQL 是一个基于加州大学伯克利分校计算机系开…

数仓建模:当DWS构建好后,突然来了一个新的需求,需要添加某个或某几个维度字段时,应该如何处理?

目录 1. 需求评估与分析 2. 表结构调整 3. ETL 流程修改 4. 数据更新和回填 5. 数据分析和报表调整

Git原理与应用(三)【远程操作 | 理解分布式 | 推送拉取远程仓库 | 标签管理】

Git 理解分布式版本控制系统远程仓库新建远程仓库克隆远程仓库向远程仓库推送配置Git忽略特殊文件 标签管理理解标签创建标签操作标签删除标签 理解分布式版本控制系统 我们⽬前所说的所有内容&#xff08;工作区&#xff0c;暂存区&#xff0c;版本库等等&#xff09;&#x…

TCP创建通信前的三次握手(为啥不是两次?)

1.三次握手的过程 客户端发送 SYN&#xff08;同步&#xff09;报文 客户端向服务器发送 SYN 标志的数据包&#xff0c;请求建立连接&#xff0c;表示 "你好&#xff0c;我要连接你"。 服务器回复 SYNACK&#xff08;同步确认&#xff09;报文 服务器收到 SYN 后&am…

一文夯实垃圾收集的理论基础

如何判断一个引用是否存活 引用计数法 给对象中添加一个引用计数器&#xff0c;每当有一个地方引用它&#xff0c;计数器就加 1&#xff1b;当引用失效&#xff0c;计数器就减 1&#xff1b;任何时候计数器为 0 的对象就是不可能再被使用的。 优点&#xff1a;可即刻回收垃圾&a…

回归算法、聚类算法、决策树、随机森林、神经网络

这也太全了&#xff01;回归算法、聚类算法、决策树、随机森林、神经网络、贝叶斯算法、支持向量机等十大机器学习算法一口气学完&#xff01;_哔哩哔哩_bilibili 【线性回归、代价函数、损失函数】动画讲解_哔哩哔哩_bilibili 14分钟详解所有机器学习算法&#xff1a;…

Spring Boot 配置(官网文档解读)

目录 摘要 Spring Boot 配置加载顺序 配置文件加载顺序 Spring Boot 配置加载方式 Value Value 注解简单示例 ConfigurationProperties 启动 ConfigurationProperties ConfigurationProperties 验证 ConfigurationProperties 与 Value 对比 Autowired Autowired 自…

机器学习-基本术语

文章目录 1. **数据集&#xff08;Dataset&#xff09;**2. **样本&#xff08;Sample&#xff09;**3. **属性&#xff08;Attribute&#xff09;**4. **特征&#xff08;Feature&#xff09;**5. **属性值&#xff08;Attribute Value&#xff09;**6. **属性空间&#xff08…