c# - Use Regex in this Linq query? -


i using linq find highest int in list, can increment , add end of next string:

var cablenumber = clist.select(v => int.parse(v.cablenumber.substring(n))).max(); 

however, because strings aren't fixed length, thinking of inserting regex.match in there, possibly like:

n = regex.match(cablenumber, @"\d{3}", regexoptions.righttoleft); 

to specify; format input strings follow have 3 digit number on end, possibly followed single letter. examples:

cp1-p-cp2-001 (001) mot1psp2023a (023) tksp3-c-flt2-234-a (234) 

how implement this? there better way?

the following uses regex pattern inside linq query:

string[] strings = { "cp1-p-cp2-001 (001)","mot1psp2023a (023)", "tksp3-c-flt2-234-a (234)",                      "invalidstring" };  int? maxvalue = strings.max(x =>  {     var match = regex.match(x, @"\d{3}(?=\d*$)");     return match.success ? (int?) int.parse(match.value) : null; }); 

the int? can bypass string.empty coming invalid match , parse valid matches. if none matched, return null.


Comments

Popular posts from this blog

javascript - Jquery show_hide, what to add in order to make the page scroll to the bottom of the hidden field once button is clicked -

javascript - Highcharts multi-color line -

javascript - Enter key does not work in search box -