将文本文件与c#中的文本模式进行比较?

时间:2010-12-16 05:47:37

标签: c#

我将文本文件与".."这样的模式进行了比较。它正在将整行写入日志中......

insert into depdb..fin_quick_code_met

但我需要单独写这个  depdb    要么  depdb..fin_quick_code_met

即我单独需要这个词

if (line.contains(".."))
dest.WriteLine("LineNo : " + counter.ToString() + " : " +"           "+ line.TrimStart());

如何单独写这个单词? 有什么建议吗?

2 个答案:

答案 0 :(得分:2)

类似的东西:

        string line = "insert into depdb..fin_quick_code_met";
        foreach(Match match in Regex.Matches(line, @"(\w*)\.\.")) {
            Console.WriteLine(match.Groups[1]);
        }

或仅用于该行的单个(第一个)匹配:

        Match match = Regex.Match(line, @"(\w*)\.\.");
        if (match.Success)
        {
            Console.WriteLine(match.Groups[1]);
        }

获得完整depdb..fin_quick_code_met;相同的代码,但使用@"\w*\.\.\w*,查看match.Value

答案 1 :(得分:1)

如果您的专栏只包含一个 .. 条目,那么这将有效

  var line= "insert into depdb..fin_quick_code_met";           
  if (line.contains(".."))
   {           
        var splitted = line.Split(new[] { ".." }, StringSplitOptions.RemoveEmptyEntries);
        var firstPart = splitted.First().Split(' ').Last();
        var secondPart = splitted.Last();
        var composed = firstPart + ".." + secondPart;
    }