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

时间:2014-05-29 08:13:51

标签: c# string

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

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

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

"DEFAULT NULL"

如何使用框架3.5的C#执行此操作?

2 个答案:

答案 0 :(得分:2)

容易做到:

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

答案 1 :(得分:0)

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");