我想从字符串中删除最后三个字符:
string myString = "abcdxxx";
请注意,该字符串是动态数据。
答案 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)
返回一个新字符串,其中包含当前所有字符 例如,从指定的位置开始并继续通过 最后一个位置,已被删除
答案 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