C#|.net core 基础 - 删除字符串最后一个字符的七大类N种实现方式

简介: 【10月更文挑战第9天】在 C#/.NET Core 中,有多种方法可以删除字符串的最后一个字符,包括使用 `Substring` 方法、`Remove` 方法、`ToCharArray` 与 `Array.Copy`、`StringBuilder`、正则表达式、循环遍历字符数组以及使用 LINQ 的 `SkipLast` 方法。

在 C#/.NET Core 中,以下是删除字符串最后一个字符的几种实现方式:


一、使用 Substring 方法


string str = "Hello World!";
string newStr = str.Substring(0, str.Length - 1);
Console.WriteLine(newStr);


二、使用 Remove 方法


string str = "Hello World!";
string newStr = str.Remove(str.Length - 1);
Console.WriteLine(newStr);


三、使用 ToCharArray 和 Array.Copy 方法


string str = "Hello World!";
char[] charArray = str.ToCharArray();
char[] newCharArray = new char[charArray.Length - 1];
Array.Copy(charArray, newCharArray, charArray.Length - 1);
string newStr = new string(newCharArray);
Console.WriteLine(newStr);


四、使用 StringBuilder


string str = "Hello World!";
StringBuilder sb = new StringBuilder(str);
sb.Length--;
string newStr = sb.ToString();
Console.WriteLine(newStr);


五、使用正则表达式


string str = "Hello World!";
string newStr = System.Text.RegularExpressions.Regex.Replace(str, ".$", "");
Console.WriteLine(newStr);


六、循环遍历字符数组手动删除最后一个字符


string str = "Hello World!";
char[] charArray = str.ToCharArray();
char[] newCharArray = new char[charArray.Length - 1];
for (int i = 0; i < charArray.Length - 1; i++)
{
    newCharArray[i] = charArray[i];
}
string newStr = new string(newCharArray);
Console.WriteLine(newStr);


七、使用 LINQ 的 SkipLast 方法(不太直观且效率可能较低)


string str = "Hello World!";
string newStr = new string(str.ToCharArray().SkipLast(1).ToArray());
Console.WriteLine(newStr);
相关文章
|
4天前
|
Java 物联网 C#
C#/.NET/.NET Core学习路线集合,学习不迷路!
C#/.NET/.NET Core学习路线集合,学习不迷路!
|
7天前
|
Java 物联网 编译器
C#一分钟浅谈:.NET Core 与 .NET 5 区别
本文对比了 .NET Core 和 .NET 5,从历史背景、主要区别、常见问题及易错点等方面进行了详细分析。.NET Core 侧重跨平台支持和高性能,而 .NET 5 在此基础上统一了 .NET 生态系统,增加了更多新特性和优化。开发者可根据具体需求选择合适的版本。
26 7
|
4天前
|
人工智能 开发框架 前端开发
C#/.NET/.NET Core技术前沿周刊 | 第 12 期(2024年11.01-11.10)
C#/.NET/.NET Core技术前沿周刊 | 第 12 期(2024年11.01-11.10)
|
4天前
|
开发框架 网络协议 .NET
C#/.NET/.NET Core优秀项目和框架2024年10月简报
C#/.NET/.NET Core优秀项目和框架2024年10月简报
|
3天前
|
人工智能 开发框架 安全
C#/.NET/.NET Core技术前沿周刊 | 第 13 期(2024年11.11-11.17)
C#/.NET/.NET Core技术前沿周刊 | 第 13 期(2024年11.11-11.17)
|
4天前
|
网络协议 Unix Linux
精选2款C#/.NET开源且功能强大的网络通信框架
精选2款C#/.NET开源且功能强大的网络通信框架
|
4天前
|
程序员 C# 图形学
全面的C#/.NET自学入门指南
全面的C#/.NET自学入门指南
|
27天前
|
JSON C# 开发者
C#语言新特性深度剖析:提升你的.NET开发效率
【10月更文挑战第15天】C#语言凭借其强大的功能和易用性深受开发者喜爱。随着.NET平台的演进,C#不断引入新特性,如C# 7.0的模式匹配和C# 8.0的异步流,显著提升了开发效率和代码可维护性。本文将深入探讨这些新特性,助力开发者在.NET开发中更高效地利用它们。
32 1
|
1月前
|
人工智能 开发框架 Cloud Native
C#/.NET/.NET Core技术前沿周刊 | 第 9 期(2024年10.07-10.13)
C#/.NET/.NET Core技术前沿周刊 | 第 9 期(2024年10.07-10.13)
|
21天前
.NET 4.0下实现.NET4.5的Task类相似功能组件
【10月更文挑战第29天】在.NET 4.0 环境下,可以使用 `BackgroundWorker` 类来实现类似于 .NET 4.5 中 `Task` 类的功能。`BackgroundWorker` 允许在后台执行耗时操作,同时不会阻塞用户界面线程,并支持进度报告和取消操作。尽管它有一些局限性,如复杂的事件处理模型和不灵活的任务管理方式,但在某些情况下仍能有效替代 `Task` 类。