我有一个字符串说
"Hello! world!"
Run Code Online (Sandbox Code Playgroud)
我想做一个修剪或删除取出!关闭世界但不关闭你好.
Dam*_*ash 278
"Hello! world!".TrimEnd('!');
Run Code Online (Sandbox Code Playgroud)
编辑:
我在这类问题中已经注意到,大家都建议删除给定字符串的最后一个字符串.但这不符合Trim方法的定义.
修剪 - 从此实例的开头和结尾删除所有出现的空格字符.
在这个定义下,只删除字符串中的最后一个字符是不好的解
因此,如果我们想要"修剪字符串中的最后一个字符",我们应该这样做
作为扩展方法的示例:
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]);
}
}
}
Run Code Online (Sandbox Code Playgroud)
注意,如果你想删除相同值的所有字符,即(!!!!),上面的方法将删除所有'!'的存在 从字符串的末尾开始,但是如果你只想删除最后一个字符,你应该使用它:
else { return str.Remove(str.Length - 1); }
Run Code Online (Sandbox Code Playgroud)
Nim*_*ory 62
String withoutLast = yourString.Substring(0,(yourString.Length - 1));
Run Code Online (Sandbox Code Playgroud)
if (yourString.Length > 1)
withoutLast = yourString.Substring(0, yourString.Length - 1);
Run Code Online (Sandbox Code Playgroud)
要么
if (yourString.Length > 1)
withoutLast = yourString.TrimEnd().Substring(0, yourString.Length - 1);
Run Code Online (Sandbox Code Playgroud)
...如果您想从末尾删除非空白字符.
在 .NET 5 / C# 8 中:
您可以将标记为答案的代码编写为:
public static class StringExtensions
{
public static string TrimLastCharacters(this string str) => string.IsNullOrEmpty(str) ? str : str.TrimEnd(str[^1]);
}
Run Code Online (Sandbox Code Playgroud)
但是,正如答案中提到的,这会删除最后一个字符的所有出现。如果您只想删除最后一个字符,您应该这样做:
public static string RemoveLastCharacter(this string str) => string.IsNullOrEmpty(str) ? str : str[..^1];
Run Code Online (Sandbox Code Playgroud)
对 C# 8 中的新内容的快速解释:
这^称为“来自结束运算符的索引”。这..被称为“范围运算符”。^1是 的快捷方式arr.length - 1。您可以使用 获取数组第一个字符之后的所有项目,arr[1..]或者使用 获取最后一个字符之前的所有项目arr[..^1]。这些只是一些简单的例子。有关详细信息,请参阅https://learn.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-8 的“指数和范围”部分。
string helloOriginal = "Hello! World!";
string newString = helloOriginal.Substring(0,helloOriginal.LastIndexOf('!'));
Run Code Online (Sandbox Code Playgroud)
修剪字符串中最后一个字符的另一个例子:
string outputText = inputText.Remove(inputText.Length - 1, 1);
Run Code Online (Sandbox Code Playgroud)
您可以将它放入扩展方法并防止它出现空字符串等.
| 归档时间: |
|
| 查看次数: |
275262 次 |
| 最近记录: |