Извлечение строки RegEx C #

У меня есть строка:

«ImageDimension = 655x0; ThumbnailDimension = 0x0».

Мне нужно извлечь первое число (строка «655») между «ImageDimension =» и первым появлением «x»; и нужно извлечь второе число (строка "0"), идущее после первого "x", идущего после строки "ImageDimension =". Аналогично с третьим и четвертым числами.

Можно ли это сделать с помощью регулярного выражения («ImageDimension = ? x ? ; ThumbnailDimension = ? x ? ») и как ? Вместо корявых подстрок и indexof? Спасибо!

Мое неприятное решение:

String configuration = "ImageDimension=655x0;ThumbnailDimension=0x0";
String imageDim = configuration.Substring(0, configuration.IndexOf(";"));
int indexOfEq = imageDim.IndexOf("=");
int indexOfX = imageDim.IndexOf("x");

String width1 = imageDim.Substring(indexOfEq+1, indexOfX-indexOfEq-1);
String height1 = imageDim.Substring(imageDim.IndexOf("x") + 1);

String thumbDim = configuration.Substring(configuration.IndexOf(";") + 1);
indexOfEq = thumbDim.IndexOf("=");
indexOfX = thumbDim.IndexOf("x");

String width2 = imageDim.Substring(indexOfEq + 1, indexOfX - indexOfEq-1);
String height2 = imageDim.Substring(imageDim.IndexOf("x") + 1);
56
задан Uwe Keim 24 February 2012 в 18:57
поделиться