c# - 有没有一种简单的方法来修剪字符串的最后三个字符

标签 c#

我有这样的字符串:

var a = "abcdefg";
var b = "xxxxxxxx";

字符串总是长于五个字符。

现在我需要删除最后 3 个字符。有没有一些简单的方法可以用 C# 做到这一点?

最佳答案

在简单的情况下你可以使用

result = s.Substring(0, s.Length-3);

从字符串中删除最后三个字符。

或者正如 Jason 所建议的,Remove 是一个替代方案:

result = s.Remove(s.Length-3)

不幸的是,对于 unicode 字符串,可能存在一些问题:

  • 一个 unicode 代码点可以由多个 char 组成,因为字符串的编码是 UTF-16(参见代理对)。这仅发生在基本平面之外的字符,即代码点 >2^16 的字符。如果您想支持中文,这很重要。
  • 一个字形(图形符号)可以由多个代码点组成。例如 ä 可以写成 a 后跟组合 ¨
  • 从右到左书写的行为可能也不是您想要的

关于c# - 有没有一种简单的方法来修剪字符串的最后三个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6997945/

相关文章:

c# - 日期时间到持续时间的转换

c# - SqlDataReader 返回 x 行,但 SQL 查询返回 y 行

c# - 调用泛型类构造函数的困境

c# - 我可以在 VS2010 或其他方式的调试/断点期间运行自定义 LINQ 吗?

c# - 在 DataGrid 中修剪文本时的自动工具提示

c# - 使用 HttpWebRequest 发布非英语数据

c# - 通过 SmtpClient 发送的电子邮件不显示图像

c# - 通用处理程序文件下载未开始

c# - 如何使用C#获取注册的.NET组件的位置?

c# - Linq 返回具有与单独列表中的所有项目匹配的子项目的父对象