字符串API

1.字符串:属于一个密封类,不能被继承

2不可变性:字符串不能修改堆上的内容,改的是地址

例:string str = "asd";

        str = "zxc";

3.char字符一般用‘ ’包裹,而字符串一般用“ ”包裹

4.以下是一些常见的特殊字符转义序列:

\字符用于创建转义序列,表示特殊字符或控制字符。
常见的转义序列包括:
\\ - 表示反斜杠字符本身。
\" - 表示双引号字符。
\' - 表示单引号字符。
\n - 表示换行符。
\r - 表示回车符。
\t - 表示制表符。
\uXXXX - 表示指定的Unicode字符,其中XXXX是四位十六进制数

在C#中,$和@都是特殊字符,用于字符串的不同功能。

&字符:
在字符串前面加上$符号,然后在字符串中使用{}大括号来引用变量或表达式。
示例:

@字符:

@字符用于创建逐字字符串,也称为原始字符串。
在字符串前面加上@符号,可以告诉编译器将字符串按原样处理,忽略转义字符的特殊含义。
在逐字字符串中,可以直接使用换行符、制表符等特殊字符,而不需要使用转义字符。
逐字字符串对于包含大量特殊字符或文件路径的字符串非常有用。
示例:

这两个特殊字符可以组合使用,创建插值逐字字符串:

string name = "张三";
string speak = $@"Hello, {name}";
Console.WriteLine(speak);


在插值逐字字符串中,可以享受字符串插值的便利,同时保留字符串的原始格式。

{}大括号 - 字符串插值中的表达式:

在字符串插值中,可以使用{}大括号来包含表达式或条件语句。
示例:

  string msg8 = "abc";
  bool flag = true;
   // 硬回车,软回车
 string msg9 = $"{msg8}-qqq{(flag ? "男" : "女")}";
Console.WhiteLine(msg9);
//输出结果为:
//abc-qqq男


[]方括号 - 字符串中的索引器:

可以使用[]方括号来访问字符串中的单个字符。
示例:

string text = "Hello!";
char chars = text[0];
Console.WriteLine(chars);
//输出结果为:
//H


这些特殊字符和转义序列提供了更多的灵活性和控制力,用于处理字符串中的特殊字符、格式化字符串以及访问字符串的特定部分。

以下是一些常见的转义字符及其示例:

\n - Newline (换行符)
示例:

 Console.WriteLine("hello \n world!");
//输出结果为:
//hello
// world!

\" - 双引号
示例:

Console.WriteLine("hello \" world!\"");
//输出结果为:
//hello " world!"

\' - 单引号
示例:

 Console.WriteLine("we\'re beautiful");
//输出的结果为:
//we're beautiful

\b - Backspace (退格符)
示例:

Console.WriteLine("Hello\b\b\b");
//输出: He

\r - Carriage Return (回车符)
示例:

Console.WriteLine("Hello\rWorld");
//输出: World

字符串部分API:
 

1.Concat()   join()  连接两个字符串


// 字符串串联(合并) string.Concat() || string.Join()

string str = "hello";

char[] chars = str.Concat(new char[] { ' ', 'w', 'o', 'r', 'l', 'd' }).ToArray();
Console.WriteLine(chars);
//输出结果
//hello world
 string result1 = string.Concat(str, " ", "world", " how are you");
 Console.WriteLine(result1);
//输出结果
//hello world how are you

2.StartsWith 以...开头    EndsWith 以...结尾

  // 判断字符串以xx开头,以xx结尾

string str = "hello";
 Console.WriteLine(str.StartsWith("He", StringComparison.OrdinalIgnoreCase));
  Console.WriteLine(str.EndsWith("llo", StringComparison.OrdinalIgnoreCase));
//运行结果
//true
//true 

3.Equals (判断)        ReferenceEquals

 // 判断字符串相等

string str ="hello";
 string str2 = "hello";
 if (str.Equals(str2))//确定此实例是否与另一个指定的string对象具有相同的值
 {
     Console.WriteLine("成立");
 }


//在同一程序集创建Class1.cs
 Class1 cls1 = new Class1();
 Class1 cls2 = new Class1();

 if (!cls1.Equals(cls2))//确定指定的对象是否等于当前对象
 {
     Console.WriteLine("不成立");
 }

//确定指定的object实例是否是相同的实例
 Console.WriteLine(object.ReferenceEquals(cls1, cls2));

4.Insert  插入


string str = "hello";
Console.WriteLine(str.Insert(2, "AAA"));//在索引值为2的地方插入“AAA”
//输出结果
 // HeAAAllo

5.IsNullOrEmpty(指定的字符串是null还是空字符串“ ”)     

     IsNullOrEmpty(判断字符串是空,null还是仅由空白白字符组成)

 // 判断空

string str ="hello" 
string.IsNullOrEmpty(str);
 string.IsNullOrEmpty(str);

6.PadLeft()    PadRight() 不足宽度补字符(左,右)

// 不足宽度补字符  str.PadLeft(), str.PadRight()

string str ="hello";
Console.WriteLine(str.PadLeft(10));
Console.WriteLine(str.PadLeft(10, 'A')); 
//输出结果
//AAAAAAhello
Console.WriteLine(str.PadRight(10));
Console.WriteLine(str.PadRight(10, 'A'));
//输出结果
//helloAAAAAA

7.删除  Remove

string str = "hello"
Console.WriteLine(str.Remove(1, 2));
//运行结果
//hlo

8.替换 Replace

string str ="hello";
Console.WriteLine(str.Replace('l', 'L'));
//运行结果
//heLLo
Console.WriteLine(str.Replace("ll", "L"));
//运行结果
//heLo


9. 截取 Substring()
Console.WriteLine(str.Substring(0, 2));

10.去除空白

 str.Trim(),str.TrimLeft(),str.TrimRigth()

11. 拆分 str.Split()

12. 转换大小写

str.ToUpper(), str.ToLower()

13. 转换成字符数组 str.ToCharArray()

  • 11
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值