将一个字符串拆分为2个字符串

本文关键字:字符串 拆分 2个 一个 | 更新日期: 2023-09-27 17:57:49

我需要帮助使用C#中的Split函数。用户需要输入一个3个单词或更多的短语。我已经知道用户的第一个单词是什么。例如,如果用户输入"Microsoft Visual Studio 2015",我已经知道该用户将输入"Microsoft"。如何让Split去掉第一个单词,只把下面的短语作为字符串?

将一个字符串拆分为2个字符串

char[] separators = { ' ' };
string secondword = myString.Split(separators, 2)[1];

将为您提供正确的输出。带int参数的split语句指定最多返回2个子字符串,数组索引[1]将其中的第二个子字符串(第一个空格之后的任何一个子字符串)作为输出。

如果你需要第一个单词,你可以做类似的事情:

char[] separators = { ' ' };
string firstword= myString.Split(separators, 2)[0];

如果您知道字符串将以一个值开头,您可以从字符串中删除该数量的字符:

string value = "Microsoft Visual Studio 2015";
string expected = "Microsoft ";
if (value.StartsWith(expected))
{
    value = value.Substring(expected.Length);
}

如果你不知道第一个单词,但你总是想把它取出来,你可以使用String.Substring():

string input = "Microsoft Visual Studio 2015";
string result = input.Substring(input.IndexOf(' ') + 1);

您可以使用类似的Replace()方法

string str = "Microsoft Visual Studio 2015";
str = str.Replace("Microsoft","");

(或者)你也可以像一样使用Substring()方法

str = str.Substring(("Microsoft".Length + 1), str.Length - ("Microsoft".Length + 1));

String.Split()方法重载了一个整数,该整数根据数组中的字符将字符串拆分为最大数量的子字符串。它的参数应该是char[]int,如下所示:

string input = "Microsoft Visual Studio 2015";
string output = input.Split(new[] {' '}, 2)[1];

如果您愿意切片并重新构建字符串,可以使用String.Split将字符串切碎,然后使用Enumerable.Skip跳过第一个单词,最后使用String.Join构建新字符串:

var str = "Microsoft Visual Stuio";
str = string.Join(" ", str.Split(' ').Skip(1));