当我运行此代码时,其目的是仅获取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)
问题出在哪儿?
您可以尝试通过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 =第二个字 ......等等.