📅  最后修改于: 2023-12-03 14:40:33.053000             🧑  作者: Mango
在C#中,TrimStart()
方法用于将指定字符从当前字符串的开头移除,并返回新的字符串。
语法:
public string TrimStart(params char[] trimChars);
其中,trimChars
是可选参数,它指定要从字符串开头移除的字符数组,默认情况下它是空格和换行符。
返回值:
返回一个新的字符串,该字符串等于当前字符串,但已从开头移除了所有指定的 trimChars
。
示例:
string str = " Hello World! ";
str = str.TrimStart(); // "Hello World! "
str = str.TrimStart('H'); // "ello World! "
移除字符串开头的空格非常常见,假设我们有一个输入框,用户可能会在输入框输入多余的空格,比如:
string input = " Hello World! ";
我们可以使用TrimStart()
方法来移除开头的所有空格,如下所示:
input = input.TrimStart();
这样就可以将输入框中的前导空格移除掉,得到一个干净的字符串。
如果我们不仅要移除开头的空格,还需要移除其他指定的字符,那么可以在TrimStart()
方法的参数中指定要移除的字符,如下所示:
string input = "### Hello World!";
input = input.TrimStart('#'); // " Hello World!"
这相当于将开头的#全部移除。
如果要移除多种字符,可以使用一个字符数组来存储这些字符:
string input = "????Hello 一 World!";
char[] trimChars = { '?', '一', ' ' };
input = input.TrimStart(trimChars); // "Hello 一 World!"
上面的代码将开头的所有 ?、空格、和中文的 一 全部移除。
在实际开发中,可能会遇到这样一种情况:我们得到了一个字符串,其中开头有多个连续的特定字符,我们要从这些字符中找出某一个字符,然后只保留这个字符及其之后的内容。下面演示如何通过组合使用TrimStart()
和IndexOf()
方法来实现该功能。
string input = "### Hello World!";
int idx = input.IndexOf('#'); // 找到第一个 # 的位置
input = input.Substring(idx).TrimStart('#'); // 只保留 # 后面的内容
在上面的代码中,我们先使用IndexOf()
方法找到第一个 # 的位置,然后使用Substring()
方法提取这个 # 后面的内容,最后使用TrimStart()
方法移除 #。这样我们就得到了只保留 # 后面的字符串。
TrimStart()
方法可以很方便地移除字符串开头的特定字符或字符串,常用于处理用户输入或去掉字符串中的无用内容。注意:TrimStart()
方法不会更改源字符串,而是返回一个新的字符串。