我有一个字符串,其分隔格式如下:
orgname :firstname lastname,firstname lastname;
(这可以重复每个组织的orgnames和可变数量的名称)
示例:
**XXX University**: Martha Zander, Rick Anderson; **Albert School**: Nancy Vanderburg, Eric Towson, George Branson; **Hallowed Halls**: Jane Goodall, Ann Crabtree, Rick Grey, Tammy Hudson;
结果字符串需要按照orgname进行分组和排序,然后按照以下方式排序:
**Albert School**: George Branson, Eric Towson, Nancy Vanderburg;
**Hallowed Halls**: Ann Crabtree, Jane Goodall, Rick Grey, Tammy Hudson;
**XXX University**: Rick Anderson, Martha Zander;
我已经走到了这一步:
string[][] splitThis = staff.Split(';').Select(s => s.Split(':')).ToArray();
这给了我一个由orgname分割的数组,然后我就被卡住了。
我知道我需要一个带有orname,firstname,lastname的多维数组,但我不知道如何填充,分组和排序以获得正确的结果。
答案 0 :(得分:2)
-- create the finaltable
declare @finaltable table(data_date datetime, ind_value float)
Insert into @finaltable (data_date)
select distinct l.value_date
from #data_table l
order by l.value_date
---some code here that works
exec sp_rename '@finaltable.ind_value', 'NewValue', 'COLUMN' --
答案 1 :(得分:1)
我会在这里使用正则表达式
string input = @"**XXX University**: Martha Zander, Rick Anderson; **Albert School**: Nancy Vanderburg, Eric Towson, George Branson; **Hallowed Halls**: Jane Goodall, Ann Crabtree, Rick Grey, Tammy Hudson;";
var dict = Regex.Matches(input, @"\*\*(.+?)\*\*: (.+?);")
.Cast<Match>()
.ToDictionary(x => x.Groups[1].Value, x=>x.Groups[2].Value.Split(','));
dict
将是(在json中):
{
"XXX University": [
"Martha Zander",
" Rick Anderson"
],
"Albert School": [
"Nancy Vanderburg",
" Eric Towson",
" George Branson"
],
"Hallowed Halls": [
"Jane Goodall",
" Ann Crabtree",
" Rick Grey",
" Tammy Hudson"
]
}