using Azylee.Core.DataUtils.CollectionUtils; using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Azylee.Core.DataUtils.StringUtils { public class StringGenerator { /// /// 通过数字区间生成一组字符串(支持一个[-]区间) /// /// /// public static List CreateByNumberSection(string s) { List resultList = new List(); int startNumber = 0, stopNumber = 0, lens = 1; string startString = "", stopString = "", arrow = "<"; string[] sp = s.Split('[', ']'); foreach (string item in sp) { if (arrow == "-") arrow = ">"; if (item.Contains("-")) { string[] numbers = ArrayTool.Formatter(item.Split('-'), 2); if (int.TryParse(numbers[0], out startNumber) && int.TryParse(numbers[1], out stopNumber)) { lens = numbers[0].Length; arrow = "-"; } } if (arrow == "<") startString += item; if (arrow == ">") stopString += item; } if (startNumber < stopNumber) { for (int i = startNumber; i <= stopNumber; i++) { string number = i.ToString(); if (number.Length < lens) { number = number.PadLeft(lens, '0'); } resultList.Add(startString + number + stopString); } } if (!Ls.Ok(resultList)) resultList.Add(s); return resultList; } } }