当前位置: 首页 > article >正文

C# 字符串常用方法

文章目录

  • Length:获取字符串中字符的个数(不包括末尾的空字符)
  • ToLower() 和 ToUpper():将字符串转换为小写或大写形式
  • Substring(int startIndex, int length):从指定索引开始截取指定长度的子字符串
  • Remove(int startIndex, int length):从指定索引开始移除指定长度的字符
  • Replace(string oldValue, string newValue):替换字符串中的指定字符或子字符串
  • Split(char[] separator, StringSplitOptions options) :根据指定的分隔符拆分字符串
  • IndexOf(char value) 和 IndexOf(string value):查找指定字符或子字符串在字符串中第一次出现的位置
  • LastIndexOf(char value) 和 LastIndexOf(string value):查找指定字符或子字符串在字符串中最后一次出现的位置
  • Trim()、TrimStart() 和 TrimEnd():移除字符串开头、结尾或两端的空白字符(包括空格、制表符和换行符)
  • Contains(string value):判断字符串是否包含指定的子字符串
  • StartsWith(string value) 和 EndsWith(string value):判断字符串是否以指定的子字符串开始或结束
  • PadLeft(int totalWidth) 和 PadRight(int totalWidth):在字符串的左侧或右侧填充空格,直到达到指定的总宽度
  • Join(string separator, params string[] values):将多个字符串连接成一个字符串,并使用指定的分隔符分隔它们
  • Format(string format, params object[] args):格式化字符串,将指定的参数插入到格式字符串中
  • IsNullOrEmpty(string value):判断字符串是否为空或null
  • IsNullOrWhiteSpace(string value):判断字符串是否为空、null或仅包含空白字符
  • Concat(params string[] values):连接多个字符串并返回一个新的字符串
  • CopyTo(int sourceIndex, char[] destination, int destinationIndex, int count):将字符串中的字符复制到指定的字符数组中
  • IndexOfAny(char[] anyOf) 和 LastIndexOfAny(char[] anyOf):查找字符数组中字符在字符串中第一次或最后一次出现的位置
  • PadLeft(int totalWidth, char paddingChar) 和 PadRight(int totalWidth, char paddingChar):在字符串的左侧或右侧填充指定的字符,直到达到指定的总宽度
  • Remove(int startIndex):从指定索引开始移除字符串的剩余部分
  • Insert(int startIndex, string value):在指定索引处插入一个字符串
  • 字符串插值(String Interpolation)(C# 6.0及更高版本):使用$符号和大括号{}来嵌入变量或表达式,从而创建格式化的字符串


Length:获取字符串中字符的个数(不包括末尾的空字符)

string str = "Hello";
Console.WriteLine(str.Length); // 输出 5

ToLower() 和 ToUpper():将字符串转换为小写或大写形式

string str = "Hello";  
Console.WriteLine(str.ToLower()); // 输出 "hello"  
Console.WriteLine(str.ToUpper()); // 输出 "HELLO"

Substring(int startIndex, int length):从指定索引开始截取指定长度的子字符串

string str = "Hello World"; 
Console.WriteLine(str.Substring(6, 5)); // 输出 "World"

Remove(int startIndex, int length):从指定索引开始移除指定长度的字符

string str = "Hello World"; 
Console.WriteLine(str.Remove(6, 5)); // 输出 "Hello "

Replace(string oldValue, string newValue):替换字符串中的指定字符或子字符串

string str = "Hello World";  
Console.WriteLine(str.Replace('o', '0')); // 输出 "Hell0 W0rld"  
Console.WriteLine(str.Replace("World", "C#")); // 输出 "Hello C#"

Split(char[] separator, StringSplitOptions options) :根据指定的分隔符拆分字符串

string str = "Hello,World,C#";  
string[] parts = str.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);  
foreach (string part in parts)  
{  
    Console.WriteLine(part); // 输出 "Hello" "World" "C#"  
}

IndexOf(char value) 和 IndexOf(string value):查找指定字符或子字符串在字符串中第一次出现的位置

string str = "Hello World";  
Console.WriteLine(str.IndexOf('W')); // 输出 6  
Console.WriteLine(str.IndexOf("World")); // 输出 6

LastIndexOf(char value) 和 LastIndexOf(string value):查找指定字符或子字符串在字符串中最后一次出现的位置

string str = "abc abc abc";  
Console.WriteLine(str.LastIndexOf('a')); // 输出 9(最后一个 'a' 的位置)  
Console.WriteLine(str.LastIndexOf("abc")); // 输出 9(最后一个 "abc" 的位置)

Trim()、TrimStart() 和 TrimEnd():移除字符串开头、结尾或两端的空白字符(包括空格、制表符和换行符)

string str = "   Hello World   ";  
Console.WriteLine(str.Trim()); // 输出 "Hello World"  
Console.WriteLine(str.TrimStart()); // 输出 "Hello World   "  
Console.WriteLine(str.TrimEnd()); // 输出 "   Hello World"

Contains(string value):判断字符串是否包含指定的子字符串

string str = "Hello World"; 
Console.WriteLine(str.Contains("World")); // 输出 True

StartsWith(string value) 和 EndsWith(string value):判断字符串是否以指定的子字符串开始或结束

string str = "Hello World";  
Console.WriteLine(str.StartsWith("Hello")); // 输出 True  
Console.WriteLine(str.EndsWith("World")); // 输出 True

PadLeft(int totalWidth) 和 PadRight(int totalWidth):在字符串的左侧或右侧填充空格,直到达到指定的总宽度

string str = "123";  
Console.WriteLine(str.PadLeft(5)); // 输出 "   123"(左侧填充3个空格)  
Console.WriteLine(str.PadRight(5, '*')); // 输出 "123**"(右侧填充2个'*')

Join(string separator, params string[] values):将多个字符串连接成一个字符串,并使用指定的分隔符分隔它们

string[] words = { "Hello", "World", "C#" };  
string sentence = string.Join(", ", words);  
Console.WriteLine(sentence); // 输出 "Hello, World, C#"

Format(string format, params object[] args):格式化字符串,将指定的参数插入到格式字符串中

string name = "John";  
int age = 30;  
string formattedString = string.Format("Name: {0}, Age: {1}", name, age);  
Console.WriteLine(formattedString); // 输出 "Name: John, Age: 30"

IsNullOrEmpty(string value):判断字符串是否为空或null

string str = null; 
Console.WriteLine(string.IsNullOrEmpty(str)); // 输出 True

IsNullOrWhiteSpace(string value):判断字符串是否为空、null或仅包含空白字符

string str = " "; 
Console.WriteLine(string.IsNullOrWhiteSpace(str)); // 输出 True

Concat(params string[] values):连接多个字符串并返回一个新的字符串

string result = string.Concat("Hello", " ", "World"); Console.WriteLine(result); // 输出 "Hello World"

CopyTo(int sourceIndex, char[] destination, int destinationIndex, int count):将字符串中的字符复制到指定的字符数组中

char[] charArray = new char[5];  
string str = "Hello";  
str.CopyTo(0, charArray, 0, 5);  
Console.WriteLine(new string(charArray)); // 输出 "Hello"(注意:超出字符串长度的部分不会被复制,保持默认值)

IndexOfAny(char[] anyOf) 和 LastIndexOfAny(char[] anyOf):查找字符数组中字符在字符串中第一次或最后一次出现的位置

string str = "Hello World";  
char[] chars = { 'o', 'W' };  
Console.WriteLine(str.IndexOfAny(chars)); // 输出 4('o'的位置)  
Console.WriteLine(str.LastIndexOfAny(chars)); // 输出 6('W'的位置)

PadLeft(int totalWidth, char paddingChar) 和 PadRight(int totalWidth, char paddingChar):在字符串的左侧或右侧填充指定的字符,直到达到指定的总宽度

string str = "123";  
Console.WriteLine(str.PadLeft(5, '*')); // 输出 "**123"(左侧填充2个'*')  
Console.WriteLine(str.PadRight(5, '*')); // 输出 "123**"(右侧填充2个'*')

Remove(int startIndex):从指定索引开始移除字符串的剩余部分

string str = "Hello World"; 
Console.WriteLine(str.Remove(6)); // 输出 "Hello "

Insert(int startIndex, string value):在指定索引处插入一个字符串

string str = "Hello"; 
Console.WriteLine(str.Insert(5, " World")); // 输出 "Hello World"

字符串插值(String Interpolation)(C# 6.0及更高版本):使用$符号和大括号{}来嵌入变量或表达式,从而创建格式化的字符串

int age = 30;  
string name = "Alice";  
string message = $"My name is {name} and I am {age} years old.";  
Console.WriteLine(message); // 输出 "My name is Alice and I am 30 years old."


http://www.kler.cn/news/357149.html

相关文章:

  • 意外断电 导致docker 部署禅道 的mariadb 启动报错
  • freeswitch-esl 实现广播功能
  • PDFView 1.0.2 jar包,github无法依赖下载,所以只能使用jar包进行,
  • HCIE-Datacom题库_08_安全【12道题】
  • 如何在Matlab界面中添加日期选择器?
  • 微服务--Gateway--局部过滤器接口耗时【重要】
  • 机器学习课程学习周报十七
  • VSCode自搭建嵌入式环境的make构建工具选择
  • snmpdelta使用说明
  • 【ELK】初始阶段
  • 【Petri网导论学习笔记】Petri网导论入门学习(五)—— 1.3 库所/变迁系统与加权Petri网
  • Chrome谷歌浏览器加载ActiveX控件之JT2Go控件
  • 高效部署大型语言模型:基于AMD GPU的文本生成推理
  • 低代码平台中的功能驱动开发:模块化与领域设计
  • 【 Git 】git push 报错 error: failed to push some refs to ‘github.com/xxxx‘
  • git 与github 远程连接出现中文用户名乱码导致无法找到user/.ssh文件的解决办法
  • 桥接模式、NAT模式 和 主机模式(Host-Only)区别
  • 鸿蒙网络编程系列27-HTTPS服务端证书的四种校验方式示例
  • 【北京迅为】《STM32MP157开发板嵌入式开发指南》- 第五十章 Linux设备树
  • 申请软件测试CNAS实验室认证人员方面要做好哪些准备?