我想使用SSIS将数据从SharePoint列表导出到SQL。 在SharePoint列表中,我有一个列作为多选,因此我在列
中的值低于此值1;#control 1;#3;#control 3
我想在派生列中使用子字符串,以便我得到低于结果
1,3
我只想要来自给定列的ID。
我试过下面的代码
SUBSTRING(ColumnName,1,FINDSTRING(ColumnName,&#34 ;;#",1) - 1)
但它只给我回答
1
任何人都可以帮助我。?
答案 0 :(得分:2)
由于在SharePoint Multi-Select中选择了未知数量的控件,因此派生列转换不适合您。你必须使用一个脚本。
解析字符串的一种方法是使用正则表达式。您必须向脚本转换添加输出并将解析后的字符串分配给该输出。
Regex controlExpression = new Regex(@"control ([0-9]+)");
MatchCollection controlMatches = controlExpression.Matches(--YOUR INPUT HERE--);
String output = string.Join(",",
(controlMatches.Cast<Match>().Select(n => n.Groups[1].ToString())).ToArray());