的组合IndexOf,SubString并检查其是否以避免ArgumentOutOfRangeException:
string input = "Please make sure you have the connect TNSnames and SQLnet files.";
int index = input.IndexOf("connect");
if (index != -1)
{
string result = input.Substring(index);
}
Run Code Online (Sandbox Code Playgroud)
另外,考虑如果你有"连接"而不是"连接"这个词会发生什么 - 是有效的部分匹配还是你必须找到完整的单词?如果您需要完整的单词,可以通过在\b元字符之间放置所需的单词来使用单词边界正则表达式:
Match m = Regex.Match(input, @"\bconnect\b.*$");
if (m.Success)
{
Console.WriteLine(m.Value);
}
Run Code Online (Sandbox Code Playgroud)
该.*$部分告诉正则表达式匹配任何字符(.*)直到句子结束($).
如果你真的想要索引你可以省略该.*$部分并使用它(虽然这忽略了正则表达式的用处,我只是指出这个,如果你因任何原因需要索引):
Match m = Regex.Match(input, @"\bconnect\b");
if (m.Success)
{
int index = m.Index;
Console.WriteLine(input.Substring(index)); // Substring approach again
}
Run Code Online (Sandbox Code Playgroud)