C#中字符串方法

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

cs 复制代码
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

字符串遍历

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

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

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

  1. Concat( ) 拼接字符串

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

cs 复制代码
 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值去接收。

cs 复制代码
 bool b = s4.Contains(s1);
 //bool b1 = s4.Contains("13"); //false  不相邻会报错
 Console.WriteLine(b);//true
  1. CopyTo(c1,c2,c3,c4) :

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

cs 复制代码
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你
  1. StartsWith( ):

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

cs 复制代码
string names = "张杰毛不易张三毛晓彤CC";
Console.WriteLine(names.StartsWith("张"));//true
Console.WriteLine(names.StartsWith("毛"));//false
Console.WriteLine(names.StartsWith("张毛"));//false
  1. EndsWith( ):

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

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

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

cs 复制代码
string names = "张杰毛不易张三毛晓彤CC";
Console.WriteLine(names.Equals(names));//true
Console.WriteLine(names.Equals(s4));//false
  1. IndexOf( )

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

cs 复制代码
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
  1. LastIndexOf( )

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

cs 复制代码
Console.WriteLine(names.LastIndexOf("张"));//5
Console.WriteLine(names.LastIndexOf("毛"));//7
Console.WriteLine(names.LastIndexOf("李"));//-1
  1. 会忽略 大小写进行查询
cs 复制代码
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,从后向前查询参数字符串首次出现的索引位置。
  1. IndexOfAny( char[ ] )

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

cs 复制代码
Console.WriteLine(str1.IndexOfAny(new char[] { 'b', '1', '2', 'a' }));//0
  1. LastIndexOfAny( char[ ] )

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

cs 复制代码
Console.WriteLine(str1.LastIndexOfAny(new char[] { 'b', '1', '2', 'a' }));//14
  1. Insert( )

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

cs 复制代码
string oldString = "hello";
string newStr4 = oldString.Insert(1, "AAAA");
Console.WriteLine(newStr4);// hAAAAello
Console.WriteLine(oldString);//hello
  1. Remove( )

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

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

cs 复制代码
string newStr5 = oldString.Remove(1, 3);
Console.WriteLine(newStr5);//ho
Console.WriteLine(oldString);//hello
  1. Replace( )

字符串1.Replace (old, new)

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

cs 复制代码
string newStr6 = oldString.Replace("ll", "AA");
Console.WriteLine(newStr6);//heAAo
Console.WriteLine(oldString);//hello

string newStr7 = oldString.Replace('l', 'A');
Console.WriteLine(newStr7);//heAAo
Console.WriteLine(oldString);//hello
  1. IsNullOrEmpty( )

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

cs 复制代码
string str2 = "";
string names = "张杰毛不易张三毛晓彤CC";
Console.WriteLine(string.IsNullOrEmpty(str2));//true
Console.WriteLine(string.IsNullOrEmpty(names));//false
Console.WriteLine(string.IsNullOrEmpty(null));//True
  1. Join(参数1,参数2)

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

cs 复制代码
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
  1. SubString( )

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

cs 复制代码
string[] strs4 = new string[] { "你好", "hello", "world" };
Console.WriteLine(string.Concat(strs4));//你好helloworld

//SubString()截取字符串。参数1:起始索引 参数:截取长度
Console.WriteLine("hello".Substring(1, 3));//ell
  1. ToUpper( ) 将字母切换为大写

ToLower() 将字母切换为小写

cs 复制代码
//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());//中文
  1. ToString( )平时省略
cs 复制代码
Console.WriteLine("hello");//hello
Console.WriteLine("hello".ToString());//hello
  1. Trim( ) 去除字符串两端的空格,但不会去除中间的空格。

TrimEnd( )去除右侧的空白

TrimStart( )去除左侧的空白

cs 复制代码
Console.WriteLine("    hel    lo    ".Trim());//hel    lo
Console.WriteLine("    hel    lo    ".TrimEnd().TrimStart());//hel    lo
  1. ToCharArray( )

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

cs 复制代码
char[] char2 = names.ToCharArray();
for (int i = 0; i < char2.Length; i++)
{
    Console.WriteLine($"{char2[i]}");
}
  1. Split( " , " )

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

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

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

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

cs 复制代码
string[] strs4 = new string[] { "你好", "hello", "world" };
Console.WriteLine("hello".Substring(1, 3));//ell
  1. string.Format( ) 格式化
cs 复制代码
//字符串格式化
Console.WriteLine("姓名{0},年龄{1},性别{2}", "张三", 30, true); //姓名张三,年龄30,性别True
Console.WriteLine("{0},{1}", "张三", 30, true);//张三,30

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

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

cs 复制代码
// 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));//C

Console.WriteLine(12.ToString("N1"));//12.0
Console.WriteLine(12.ToString("C1"));//¥12.0

double num1 = .12D;
double num2 = 0.12D;
Console.WriteLine(0.12.ToString("P3"));//12.000%

Console.WriteLine(12.ToString("X"));//C
相关推荐
代码驿站5209 分钟前
Java语言的数据结构
开发语言·后端·golang
Xiao Xiangζั͡ޓއއ24 分钟前
于灵动的变量变幻间:函数与计算逻辑的浪漫交织(上)
c语言·开发语言·程序人生·学习方法·改行学it
6KE论坛-人皇41 分钟前
wordpress zibll 2025款新页脚-6ke论坛
开发语言·前端·javascript
知识分享小能手1 小时前
Java学习教程,从入门到精通,JDBC数据库连接语法知识点及案例代码(92)
java·大数据·开发语言·数据库·学习·java开发·java后端开发
Flocx1 小时前
联合体(Union)
开发语言·网络·c++·stm32
迂幵myself1 小时前
14-1C++STL的初始
开发语言·c++
冰茶_1 小时前
C# 并发和并行的区别--16
开发语言·学习·c#
Allen Bright1 小时前
【JVM-9】Java性能调优利器:jmap工具使用指南与应用案例
java·开发语言·jvm
冰茶_2 小时前
C#中常见的锁以及用法--18
开发语言·学习·c#
或与且与或非2 小时前
C#深度神经网络(TensorFlow.NET)
c#·tensorflow