📜  C#字符串TrimStart()方法(1)

📅  最后修改于: 2023-12-03 14:40:33.053000             🧑  作者: Mango

C#字符串TrimStart()方法

简介

在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()方法不会更改源字符串,而是返回一个新的字符串。