回答
"Hello! world!".TrimEnd('!');
编辑:
我这种类型的相当多每个人都建议删除给出的最后一个字符的问题已经注意到了串。但是这不符合修剪方法的定义。
修剪 - 删除从 开始和结束该实例的 空格都出现。
根据这个定义字符串只去掉最后一个字符是不好解决。
所以,如果我们要“剪掉字符串最后一个字符:”我们应该做这样的事
例如,作为扩展方法:
public static class MyExtensions
{
public static string TrimLastCharacter(this String str)
{
if(String.IsNullOrEmpty(str)){
return str;
} else {
return str.TrimEnd(str[str.Length - 1]);
}
}
}
注意,如果你想删除的所有字符相同的值即(!!!!)上面的方法删除了所有存在的'!'如果你想删除
else { return str.Remove(str.Length - 1); }
只要您始终知道要从字符串末尾删除的字符,这样会更好。 – 2010-08-26 08:41:11
正如他的sed“出了‘!’”,但如果我们不知道我们应该使用,'S = s.TrimEnd(S [s.Length - 1]);',从字符串删除最后一个字符不完整填写修剪的定义。 – 2010-08-26 09:41:40
您好Vash,您对使用RegEx的解决方案有什么看法?它符合Thqr的要求,可以删除'!'来自任何“世界”的字符!表达式,放在表达式的任何位置,只需一个代码行。 – 2010-08-26 10:59:54
String withoutLast = yourString.Substring(0,(yourString.Length - 1));
只要确保yourString至少包含1个字符。 – 2010-08-26 08:25:02
也确保你的字符串总是以你想删除的字符结束EG:“Hello!World”最终会成为“Hello!Worl”。 – 2013-07-18 21:04:08
string helloOriginal = "Hello! World!";
string newString = helloOriginal.Substring(0,helloOriginal.LastIndexOf('!'));
string s1 = "Hello! world!"
string s2 = s1.Substring(0, s1.Length - 1);
Console.WriteLine(s1);
Console.WriteLine(s2);
string s1 = "Hello! world!";
string s2 = s1.Trim('!');
注意,这也将删除‘!’从字符串的开头开始... – contactmatt 2017-04-25 22:03:00
如何使用endswith属性?可以在这里使用吗? – SaMolPP 2017-05-25 10:01:06
:从字符串的结尾, 但如果你只想删除最后一个字符,你应该用这个“!”从一个特定的表达(在你的情况下,“世界”)字符,那么你可以使用这个正则表达式
string input = "Hello! world!";
string output = Regex.Replace(input, "(world)!", "$1", RegexOptions.Multiline | RegexOptions.Singleline);
// result: "Hello! world"
1 $特殊字符包含所有匹配的“世界”的表情,并用它来取代原来的“世界!”表达
你也可以使用:
public static class Extensions
{
public static string RemovePrefix(this string o, string prefix)
{
if (prefix == null) return o;
return !o.StartsWith(prefix) ? o : o.Remove(0, prefix.Length);
}
public static string RemoveSuffix(this string o, string suffix)
{
if(suffix == null) return o;
return !o.EndsWith(suffix) ? o : o.Remove(o.Length - suffix.Length, suffix.Length);
}
}
我只是因为我已经在使用它内嵌了编写使用TrimEnd延伸的路径,并很高兴与它... 即:
static class Extensions
{
public static string RemoveLastChars(this String text, string suffix)
{
char[] trailingChars = suffix.ToCharArray();
if (suffix == null) return text;
return text.TrimEnd(trailingChars);
}
}
确保您在使用静态类的类的命名空间; P和用法是:
string _ManagedLocationsOLAP = string.Empty;
_ManagedLocationsOLAP = _validManagedLocationIDs.RemoveLastChars(",");
的从一个字符串修整最后字符的另一个例子:
string outputText = inputText.Remove(inputText.Length - 1, 1);
您可以将其放入扩展方法,并防止空字符串等。
if (yourString.Length > 1)
withoutLast = yourString.Substring(0, yourString.Length - 1);
或
if (yourString.Length > 1)
withoutLast = yourString.TrimEnd().Substring(0, yourString.Length - 1);
...如果你想删除从年底非空白字符。
我赞成只是为了抵消downvote而没有评论。当人们这样做时,恨它。 – 2013-08-14 16:14:37
它可能是因为有没有'TrimEnd()'方法,如果有它可以使后续的'Substring(..)'调用在短字符串上失败。 – Rory 2015-11-03 01:28:08
试试这个:
return((str).Remove(str.Length-1));
- 1. 修剪字符串,删除C中的最后一个字符#
- 2. 修剪最后一个字符
- 3. 如何将字符串修剪为最后四个字符?
- 4. xcode剪切字符串中的最后一个字符
- 5. PHP:如何修剪循环内的最后一个字符串
- 6. 在jquery中修剪一个字符串
- 7. 修剪字符串中的字符数的分隔符之后
- 8. 将最后一个字符串剪成一个字母后用点字符preg_replace
- 9. 修剪字符串
- 10. 修剪字符串
- 11. 修剪字符串
- 12. 修剪字符串
- 13. 字符串修剪/子字符串C#
- 14. 试图修剪'字符串'字符串?
- 15. 用空白修剪一个字符串
- 16. 修剪一个字符串使用css
- 17. 如何修剪一个字符串?
- 18. 从一个字符串修剪整数
- 19. 向下修剪一个字符串
- 20. php修剪一个字符串
- 21. 字符串的第一个字符和最后一个字符
- 22. 修剪最后一个字符,如果不是数字
- 23. 修剪字符串NHibernate的
- 24. PHP - 我如何修剪一个字符串为四个字符?
- 25. 从字符串修剪字符
- 26. 最后一个字符串
- 27. 字符串中最后一个数字
- 28. 修剪字符和修剪字符串 - Python
- 29. 修剪最后+从jQuery中的字符串
- 30. 删除字符串中最后一个空格后的最后一个字符
也许是超出你的要求,但我可以问你花一点时间来考虑使用我提出的正则表达式? – 2010-08-26 11:01:38
的[删除字符串的最后一个字符]可能的复制(http://stackoverflow.com/questions/7901360/delete-last-char-of-string) – 2016-08-25 16:03:50