原: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