У меня есть список, который нужно заказать, скажем:
R1-1
R1-11
R2-2
R1-2
это нужно заказать:
R1-1
R1-2
R1-11
R2-2
В настоящее время я использую метод C # Regex.Replace и добавляю 0 до появления одиночных чисел в конце строки с чем-то вроде:
Regex.Replace(inString,@"([1-9]$)", @"0$2")
Я уверен, что есть лучший способ сделать это, которого я просто не могу понять.
У кого-нибудь есть хороший способ сортировки букв и чисел с помощью регулярных выражений?
Я использовал приведенный ниже метод Грега, чтобы завершить это, и просто подумал, что должен добавить код, который я использую для полноты:
public static List<Rack> GetRacks(Guid aisleGUID)
{
log.Debug("Getting Racks with aisleId " + aisleGUID);
List<Rack> result = dataContext.Racks.Where(
r => r.aisleGUID == aisleGUID).ToList();
return result.OrderBy(r => r.rackName, new NaturalStringComparer()).ToList();
}