我将文本文件与".."
这样的模式进行了比较。它正在将整行写入日志中......
insert into depdb..fin_quick_code_met
但我需要单独写这个
depdb
要么
depdb..fin_quick_code_met
即我单独需要这个词
if (line.contains(".."))
dest.WriteLine("LineNo : " + counter.ToString() + " : " +" "+ line.TrimStart());
如何单独写这个单词? 有什么建议吗?
答案 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;
}