在C#中我有一个这样的字符串:
"nome varchar(20) NOT NULL DEFAULT NULL AUTO INCREMENT"
我必须首先搜索字符串是否包含DEFAULT,如下所示:
string.Contains("DEFAULT")
我将以空格分隔的以下字符串连接起来
所以我需要得到这个:
"DEFAULT NULL"
如何使用框架3.5的C#执行此操作?
答案 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");