C#在文本框中查找单词后的文本

C#在文本框中查找单词后的文本,c#,string,substring,C#,String,Substring,我在谷歌上找不到这个问题的答案,所以我希望我能在这里解释一下,并得到一些帮助 这是我目前掌握的代码: if (e.KeyCode == Keys.Enter & InputTextbox.Text.Contains("in")) { string textT = InputTextbox.Text; string sub = ""; sub = textT.Substring(textT.IndexOf("in")); MessageBox.Show("T

我在谷歌上找不到这个问题的答案,所以我希望我能在这里解释一下,并得到一些帮助

这是我目前掌握的代码:

if (e.KeyCode == Keys.Enter & InputTextbox.Text.Contains("in"))
{
    string textT = InputTextbox.Text;
    string sub = "";
    sub = textT.Substring(textT.IndexOf("in"));
    MessageBox.Show("The town is: " + sub);
}
所以,我要做的是让用户输入“悉尼今天的天气如何”,或者他们选择的任何城镇

在“in”文本之后,我如何获得他们正在写的任何城镇的名称?目前我的密码是“在悉尼”


感谢您的帮助。

子字符串将返回索引“In”,因此您需要跳过3个字符

sub = textT.Substring(textT.IndexOf("in") + 3);

谢谢工作完美。这是真的,但子字符串是一个黑客的方式来做到这一点。你不建议使用正则表达式吗?@AMR我想这里没有一个完美的解决方案,主要是因为检测非常简单,并没有真正考虑到所有可能的输入,比如“悉尼晚上的天气如何”。在这种情况下,正则表达式和子字符串都不起作用。@AMR尽管我很喜欢正则表达式,但我不明白为什么在这种情况下这会是一种改进。它实际上需要一个“+3”来跳过“I”、“n”和“”空间。