如何在一个字符串中得到一个单词和下面的单词用空格分隔



在c#中,我有一个这样的字符串:

"nome varchar(20) NOT NULL DEFAULT NULL AUTO INCREMENT"

我必须首先搜索字符串是否包含如下DEFAULT:string.Contains("DEFAULT")和我将用空格分隔下面的字符串所以我需要得到这个:

"DEFAULT NULL"

我如何在c#框架3.5中做到这一点?

简单操作:

string text = "nome varchar(20) NOT NULL DEFAULT NULL AUTO INCREMENT";
Match m = Regex.Match(text, @"DEFAULTs+S+");
if (m.Success)
{
    string output = m.Value;
}

Regexp可能更好,但为了完整起见,这里有一种通过Linq和string.Split()的方法:

string test = "nome varchar(20) NOT NULL DEFAULT NULL AUTO INCREMENT";
string target = "DEFAULT";
string result = test.Split(' ').SkipWhile(item => item != target).Skip(1).FirstOrDefault();
if (result != null)
    Console.WriteLine("Match = " + target + " " + result);
else
    Console.WriteLine("No match found");

最新更新