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;
}
}
}