原:1,2,3,5,6,7,9,10,12
转后:1~3,5~7,9~10,12
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 |
/// <summary> /// 字符串号换为区间式 /// </summary>/// <param name="str"></param>/// <returns></returns>public
static string ToInterval(string
str){ int[] arraystr = TointArray(str.Trim(‘,‘).Split(‘,‘)); Array.Sort(arraystr); string
Rstr = "", z = ""; z = arraystr[arraystr.Length - 1].ToString(); for
(int
i = 1; i < arraystr.Length; i++) { if
(arraystr[i] - arraystr[i - 1] != 1) { Rstr += arraystr[i - 1] + ","; } else
if (string.IsNullOrEmpty(Rstr) || Rstr.Substring(Rstr.Length - 1, 1) != "~") { Rstr += arraystr[i - 1] + "~"; } } return
(Rstr + z).Trim(‘,‘);}public
static int[] TointArray(string[] str){ int[] ccc = new
int[str.Length]; for
(int
i = 0; i < str.Length; i++)//将全部的数字存到数组里。 { ccc[i] = Convert.ToInt32(str[i].ToString()); } return
ccc;} |
原文:http://www.cnblogs.com/yuking/p/3622729.html