| | |
| | | return msg.Split('_');
|
| | | }
|
| | |
|
| | | //一维数组:来源格式如 1_2|2_3|3_1|4_3;
|
| | | //返回一维数组结构如 1|2|3|4
|
| | | public static T[] GetKeyValueKeys<T>(string msg) where T : struct
|
| | | {
|
| | | string[] segs = GetMultipleStr(msg);
|
| | |
| | | return null;
|
| | | }
|
| | |
|
| | | //一维数组:来源格式如 1_2|2_3|3_1|4_3;
|
| | | //返回一维数组结构如 2|3|1|3
|
| | | public static T[] GetKeyValueValues<T>(string msg) where T : struct
|
| | | {
|
| | | string[] segs = GetMultipleStr(msg);
|
| | |
| | | return null;
|
| | | }
|
| | |
|
| | | //二维数组:来源格式如 1_2_1|2_3_4|3_1_2|4_3_4
|
| | | public static T[][] GetArray2<T>(string msg) where T : struct
|
| | | {
|
| | | string[] segs = GetMultipleStr(msg);
|
| | | if (segs != null && segs.Length > 0)
|
| | | {
|
| | | T[][] array = new T[segs.Length][];
|
| | | for (int i = 0; i < segs.Length; i++)
|
| | | {
|
| | | string[] pair = GetKeyValue(segs[i]);
|
| | | if (pair.Length > 1)
|
| | | {
|
| | | array[i] = new T[pair.Length];
|
| | | for (int j = 0; j < pair.Length; j++)
|
| | | {
|
| | | array[i][j] = (T)Convert.ChangeType(pair[j], typeof(T));
|
| | | }
|
| | | }
|
| | | }
|
| | | return array;
|
| | | }
|
| | | return null;
|
| | | }
|
| | |
|
| | | //字典:来源格式如 1_2|2_3|3_1|4_3;
|
| | | public static Dictionary<T, P> GetDic<T, P>(string msg)
|
| | | {
|
| | | Dictionary<T, P> dic = null;
|
| | |
| | | }
|
| | |
|
| | | s = s.Replace(" ", string.Empty);
|
| | | if (!userDataRegex.IsMatch(s))
|
| | | {
|
| | |
|
| | |
|
| | | var dict = JsonMapper.ToObject<Dictionary<string, string[]>>(s);
|
| | |
|
| | | if (dict == null || dict.Count == 0)
|
| | | return null;
|
| | | }
|
| | | else
|
| | |
|
| | | Dictionary<int, List<int>> result = new Dictionary<int, List<int>>();
|
| | |
|
| | | foreach (var item in dict)
|
| | | {
|
| | | Dictionary<int, List<int>> dics = new Dictionary<int, List<int>>();
|
| | | foreach (Match match in userDataRegex.Matches(s))
|
| | | List<int> list = new List<int>();
|
| | | for (int i = 0; i < item.Value.Length; i++)
|
| | | {
|
| | | int id = int.Parse(match.Groups[1].Value);
|
| | | string str = match.Groups[2].Value;
|
| | | string[] vals = str.Split(',');
|
| | | List<int> list = new List<int>();
|
| | | for (int i = 0; i < vals.Length; i++)
|
| | | {
|
| | | int intval = int.Parse(vals[i].Replace('\'', ' '));
|
| | | list.Add(intval);
|
| | | }
|
| | | if (!dics.ContainsKey(id))
|
| | | {
|
| | | dics.Add(id, list);
|
| | | }
|
| | | list.Add(int.Parse(item.Value[i]));
|
| | | }
|
| | | return dics;
|
| | | if (list.Count != 0)
|
| | | result[int.Parse(item.Key)] = list;
|
| | | }
|
| | |
|
| | | return result;
|
| | |
|
| | | //if (!userDataRegex.IsMatch(s))
|
| | | //{
|
| | | // return null;
|
| | | //}
|
| | | //else
|
| | | //{
|
| | | // Dictionary<int, List<int>> dics = new Dictionary<int, List<int>>();
|
| | | // foreach (Match match in userDataRegex.Matches(s))
|
| | | // {
|
| | | // int id = int.Parse(match.Groups[1].Value);
|
| | | // string str = match.Groups[2].Value;
|
| | | // string[] vals = str.Split(',');
|
| | | // List<int> list = new List<int>();
|
| | | // for (int i = 0; i < vals.Length; i++)
|
| | | // {
|
| | | // int intval = int.Parse(vals[i].Replace('\'', ' '));
|
| | | // list.Add(intval);
|
| | | // }
|
| | | // if (!dics.ContainsKey(id))
|
| | | // {
|
| | | // dics.Add(id, list);
|
| | | // }
|
| | | // }
|
| | | // return dics;
|
| | | //}
|
| | | }
|
| | |
|
| | | public static Dictionary<int, List<int>> ParseJsonDict(string jsonStr)
|