У меня есть строка:
"ImageDimension = 655x0; ThumbnailDimension = 0x0".
Мне нужно извлечь первое число (строка "655" ), находящееся между "ImageDimension =" и первым появлением "x"; и нужно извлечь второе число (строка "0" ), появившееся после первого "x", следующего за строкой "ImageDimension =". Аналогично третьему и четвертому номерам.
Можно ли это сделать с помощью регулярного выражения ( "ImageDimension = ? x ?; ThumbnailDimension = ? x ?" ) и как? Вместо неуклюжих подстрок и индекса? Спасибо!
Мое решение, которое не приятно:
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);