如何在字符串中查找第二个单词

Ada*_*dan 0 c# winforms

当我运行此代码时,其目的是仅获取3个字句中的第一个,第二个和第三个单词,并将每个单词显示在文本框中.我用的句子是'凯瑞讲故事',看看图片,看看我的意思,

然而问题是,当我运行它时,第三个词是'stori','es'发生了什么'故事'

在此输入图像描述

var tbt = textBox.Text;
var firstWord = tbt.Substring(0, tbt.IndexOf(" "));

var indexword = tbt.IndexOf(" "); 
var indexnumber = indexword +1; 
string myString = indexnumber.ToString();   

var secondWord = tbt.Substring(indexnumber, tbt.IndexOf(" "));
var indexword2 = tbt.IndexOf(" ", indexnumber);

var indexnumber2 = indexword2 + 1; 
string myString2 = indexnumber2.ToString();


var thirdWord = tbt.Substring(indexnumber2, tbt.IndexOf(" "));
var indexword3 = tbt.IndexOf(" ", indexnumber2);
var indexnumber3 = indexword3 + 1; 
string mystring3 = indexnumber3.ToString();


textBox6.Text = firstWord;
textBox7.Text = secondWord;
textBox8.Text = thirdWord;
Run Code Online (Sandbox Code Playgroud)

问题出在哪儿?

Joe*_*uez 7

您可以尝试通过String.Split()方法拆分句子:

string test = "kelly tell stories";
string[] split = test.Split(' '); //Use empty space between word(s) as split character
for(int i=0; i< split.Length; i++)
{
    Console.WriteLine(split[i]);
}

Console.ReadLine();
Run Code Online (Sandbox Code Playgroud)

这在一维数组中产生3个字符串元素,每个元素可以通过索引访问.0 =第一个字,1 =第二个字 ......等等.