我有一个字符串文件,如:
"第1行:位置= 1922& JobType = 11& JobName = 3719& SkillLevel:isnull = true& JobStatus = 0"
"第2行:OffenderId = 1447983& Location = 0& OrderBy ="
"第3行:User = tnu11607& Agency = 767& ReportYear = 2015& ReportMonth = 2"
根据运行200多个报告中的哪一个,有多种模式,但每个报告的参数可能不同。
我想将其分解为:
ParamLocation ParamOffender ParamOrderBy ParamUser ...
1922 --- --- --- ......
--- 1447983 NULL --- ...
--- --- --- tnu11607 ...
(很难让间距充分显示)
等等。
我甚至不确定如何开始。任何建议将不胜感激。我会在周末看到这个。
答案 0 :(得分:0)
尝试深入了解正则表达式,在SSIS中,您可以使用脚本任务。在answers from this SO post上绘图,你可以使用类似下面的内容,你可以使用LINQPad或Visual Studio来查看它。
string queryString = "Row 1: Location=1922&JobType=11&JobName=3719&SkillLevel:isnull=true&JobStatus=0";
Dictionary<string, string> matches = Regex.Matches(queryString, "@"(\w+:?\w*)(=(\w+))&?"").Cast<Match>().ToDictionary(x => x.Groups[1].Value, x => x.Groups[3].Value);
Console.WriteLine(matches["Location"]);
要按SSIS中的行自动执行此操作,只需将queryString
变量设为行文本即可。