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

时间:2013-03-22 07:24:53

标签: c# .net

我想从字符串中删除最后三个字符:

string myString = "abcdxxx"; 

请注意,该字符串是动态数据。

14 个答案:

答案 0 :(得分:175)

  

从字符串中读取最后3个字符[最初询问的问题]

你可以使用string.Substring并给它起始索引,它将获得从给定索引到结束的子字符串。

myString.Substring(myString.Length-3)
  

从此实例中检索子字符串。子串从a开始   指定的字符位置。 MSDN

修改,了解更新的帖子

  

从字符串中删除最后3个字符[更新的问题]

要删除字符串中的最后三个字符,您可以使用string.Substring(Int32, Int32)并为其指定起始索引0和结束索引三小于字符串长度。它将在最后三个字符之前获取子字符串。

myString = myString.Substring(0, myString.Length-3);

String.Substring Method (Int32, Int32)

  

从此实例中检索子字符串。子串从a开始   指定的字符位置并具有指定的长度。

您还可以使用String.Remove(Int32)方法通过将起始索引作为 length - 3 传递来删除最后三个字符,它将从此点删除到字符串结尾。

myString = myString.Remove(myString.Length-3)

String.Remove Method (Int32)

  

返回一个新字符串,其中包含当前所有字符   例如,从指定的位置开始并继续通过   最后一个位置,已被删除

答案 1 :(得分:20)

myString = myString.Remove(myString.Length - 3, 3);

答案 2 :(得分:11)

我仔细阅读了所有这些,但想要更优雅的东西。只是从字符串末尾删除一定数量的字符:

string.Concat("hello".Reverse().Skip(3).Reverse());

输出:

"he"

答案 3 :(得分:7)

myString.Remove(myString.Length-3);

答案 4 :(得分:6)

string test = "abcdxxx";
test = test.Remove(test.Length - 3);
//output : abcd

答案 5 :(得分:5)

您可以使用String.Remove从指定位置删除字符串末尾。

myString = myString.Remove(myString.Length - 3);

答案 6 :(得分:3)

str= str.Remove(str.Length - 3);

答案 7 :(得分:3)

由于您说的是“动态数据”,可能并不完全符合您的要求,但是在给出示例字符串的情况下,这也可以:

? "abcdxxx".TrimEnd('x');
"abc"

答案 8 :(得分:2)

myString.Substring(myString.Length - 3, 3)

以下是子字符串的示例。>>

http://www.dotnetperls.com/substring

参考那些。

答案 9 :(得分:2)

   string myString = "abcdxxx";
   if (myString.Length<3)
      return;
   string newString=myString.Remove(myString.Length - 3, 3);

答案 10 :(得分:2)

新的C#8.0范围运算符可以是实现此目标的捷径。

示例:

var shortenedString = myString[0..^1]

答案 11 :(得分:1)

从字符串

中删除最后一个字符
TXTB_DateofReiumbursement.Text = (gvFinance.SelectedRow.FindControl("lblDate_of_Reimbursement") as Label).Text.Remove(10)

.Text.Remove(10) //用于删除从索引10开始到结束的文本

答案 12 :(得分:0)

items.Remove(items.Length - 3)

string.Remove()从该索引到末尾删除所有项目。 items.length - 3从结尾获取索引3个字符

答案 13 :(得分:0)

容易。 text = text.remove(text.length - 3)。我减去了3,因为Remove函数从该索引到字符串text.length的末尾删除了所有项目。因此,如果我减去3,则得到的字符串中有3个字符被删除。

您可以将其概括为从字符串末尾删除a个字符,如下所示:

text = text.remove(text.length - a) 

所以我所做的是相同的逻辑。 remove函数从其内部到字符串的末尾(即文本的长度)删除所有项。因此,如果我从字符串的长度中减去a,将得到删除了a个字符的字符串。

所以它不仅适用于3,而且适用于所有正整数,除非字符串的长度小于或等于a,在这种情况下它将返回负数或0