从'connect'开始返回剩余句子的最佳方法是什么?

Yve*_*ves 0 c#

示例:请确保您具有connect TNSnames和SQLnet文件.

Ari*_*ief 6

str.SubString(str.IndexOf( "连接"));


Ahm*_*eed 6

的组合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)