从字符串中删除最后三个字符
本文关键字:三个 字符 字符串 删除 最后 | 更新日期: 2023-09-27 18:05:20
我想从字符串中删除最后三个字符:
string myString = "abcdxxx";
请注意,该字符串是动态数据。
从字符串中读取最后 3 个字符 [最初提出的问题]
您可以使用字符串。子字符串并给它起始索引,它将获得从给定索引开始到结束的子字符串。
myString.Substring(myString.Length-3)
从此实例中检索子字符串。子字符串从 指定的字符位置。MSDN
编辑,用于更新的帖子
从字符串中删除最后 3 个字符 [更新的问题]
要从字符串中删除最后三个字符,您可以使用字符串。子字符串(Int32, Int32( 并为其提供起始索引 0
和结束索引 3 小于字符串长度。它将在最后三个字符之前获取子字符串。
myString = myString.Substring(0, myString.Length-3);
String.Substring Method (Int32, Int32(
从此实例中检索子字符串。子字符串从 指定的字符位置并具有指定的长度。
您还可以使用 String.Remove(Int32( 方法通过将起始索引作为长度 - 3 传递来删除最后三个字符,它将从这一点删除到字符串的末尾。
myString = myString.Remove(myString.Length-3)
字符串删除方法 (int32(
返回一个新字符串,其中当前 实例,从指定位置开始并继续到 最后一个位置,已被删除
myString = myString.Remove(myString.Length - 3, 3);
我通读了所有这些,但想要一些更优雅的东西。 只是为了从字符串末尾删除一定数量的字符:
string.Concat("hello".Reverse().Skip(3).Reverse());
输出:
"he"
新的 C# 8.0 范围运算符可能是实现此目的的绝佳快捷方式。
示例 #1(回答问题(:
string myString = "abcdxxx";
var shortenedString = myString[0..^3]
System.Console.WriteLine(shortenedString);
// Results: abcd
示例 #2(向您展示范围运算符有多棒(:
string s = "FooBar99";
// If the last 2 characters of the string are 99 then change to 98
s = s[^2..] == "99" ? s[0..^2] + "98" : s;
System.Console.WriteLine(s);
// Results: FooBar98
myString.Remove(myString.Length-3);
string test = "abcdxxx";
test = test.Remove(test.Length - 3);
//output : abcd
如果你使用的是 C# 8 或更高版本,则可以使用"ranges":
string myString = "abcdxxx";
string trimmed = myString[..^3]; // "abcd"
更多示例:
string test = "0123456789", s;
char c;
c = test[^3]; // '7'
s = test[0..^3]; // "0123456"
s = test[..^3]; // "0123456"
s = test[2..^3]; // "23456"
s = test[2..7]; // "23456"
//c = test[^12]; // IndexOutOfRangeException
//s = test[8..^3]; // ArgumentOutOfRangeException
s = test[7..^3]; // string.Empty
String.Remove
从指定位置删除到字符串末尾。
myString = myString.Remove(myString.Length - 3);
可能不完全是您要找的,因为您说它是"动态数据",但给定您的示例字符串,这也可以工作:
? "abcdxxx".TrimEnd('x');
"abc"
str= str.Remove(str.Length - 3);
容易。 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。
myString.Substring(myString.Length - 3, 3)
以下是有关子字符串的示例>>
http://www.dotnetperls.com/substring
参考这些。
string myString = "abcdxxx";
if (myString.Length<3)
return;
string newString=myString.Remove(myString.Length - 3, 3);
从字符串中删除最后几个字符
TXTB_DateofReiumbursement.Text = (gvFinance.SelectedRow.FindControl("lblDate_of_Reimbursement") as Label).Text.Remove(10)
.Text.Remove(10)
//用于删除从索引 10 到结尾的文本
items.Remove(items.Length - 3)
string.Remove()
从该索引中删除所有项目到末尾。 items.length - 3
从末尾获取索引 3 个字符
您可以调用 Remove 方法并传递最后 3 个字符
str.Substring(str.Length-3)
完整的代码可以是
str.Remove(str.Substring(str.Length-3));