string str22 = "asdfasdfsfdadf |01.data1:123 |02.data2:456 |03.data3:789";
            Dictionary<string, string> ky = GetItemDic(str22);public static Dictionary<string,string> GetItemDic(string str)
        {
            Dictionary<string, string> ky = new Dictionary<string, string>();
            List<string> list = str.Split('|').ToList();
            foreach (string item in list)
            {
                Regex regex = new Regex(@"\.(?<key>[\S ]+):(?<value>\S+)\s*$");
                if (regex.IsMatch(item))
                {
                    string key = regex.Match(item).Groups["key"].ToString();
                    string value = regex.Match(item).Groups["value"].ToString();
                    ky.Add(key, value);
                }
            }
            return ky;
        }                










