是否有一种简单的方法可以修剪字符串中的最后三个字符

mic*_*lle 3 c#

我有这样的字符串:

var a = "abcdefg";
var b = "xxxxxxxx";
Run Code Online (Sandbox Code Playgroud)

字符串总是超过五个字符.

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

Cod*_*aos 11

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

result = s.Substring(0, s.Length-3);
Run Code Online (Sandbox Code Playgroud)

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

或者正如Jason建议Remove的那样:

result = s.Remove(s.Length-3)
Run Code Online (Sandbox Code Playgroud)

不幸的是,对于unicode字符串,可能会出现一些问题:

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