Tôi có một chuỗi:C# RegEx chuỗi khai thác
"ImageDimension = 655x0; ThumbnailDimension = 0x0".
Tôi phải trích xuất số đầu tiên (chuỗi "655") ở giữa "ImageDimension =" và lần xuất hiện đầu tiên của "x"; và cần trích xuất số thứ hai (chuỗi "0") đến sau "x" đầu tiên xảy ra sau chuỗi "ImageDimension =". Tương tự với số thứ ba và thứ tư.
này có thể được thực hiện với regex ("ImageDimension = x ;?? ThumbnailDimension = x ") và làm thế nào? Thay vì chất nền vụng về và indexof? Cảm ơn bạn!
Giải pháp của tôi mà không phải là đẹp:
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);
Là một ngẫu nhiên sang một bên: bạn có thể làm cho nó ít nhiều xấu xí mà không biểu thức thông thường là tốt, sử dụng String.split(). – Stu