que tienen una cadena:extracción cadena de C# RegEx
"ImageDimension = 655x0; ThumbnailDimension = 0x0".
Tengo que extraer el primer número ("655" cadena) entre "ImageDimension =" y la primera aparición de "x"; y necesita extraer el segundo número (cadena "0") después de la primera "x" que aparece después de la cadena "ImageDimension =". Similar con los números tercero y cuarto.
se puede hacer esto con expresiones regulares ("ImageDimension = x ;???? ThumbnailDimension = x ") y cómo? ¿En lugar de subcadenas e índices torpes? ¡Gracias!
Mi solución que no es agradable:
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);
Como aleatoria a un lado: usted puede hacer que sea mucho menos feo y sin expresiones regulares, y se utilizan string.split(). – Stu