Я обрабатываю некоторые строки старых версий, которые обычно имеют форму 1.2.3
, но иногда они имеют теги, помеченные в конце, как -beta1
или hotfix
(пробел в начале этого).
Я хочу отфильтровать только по номеру версии, например. 1.2.3
, с оставшимися только цифрами (0-9
) и точками (.
), чтобы я мог передать его в Version.TryParse()
с высокой вероятностью его анализа.
Я посмотрел в нескольких примерах в Интернете, но все они, кажется, фокусируются на числах, подобных 12.34
, и не работают, когда есть дополнительные части с номерами периодов, такие как 12.34.56
.
Производительность не критична, ремонтопригодность есть. Какой подход был бы наиболее подходящим?