Конечно, вы можете определить начало и конец нужной подстроки с помощью строковых методов, таких как IndexOf
, а затем получить желаемый Substring
! В вашем примере вы хотите найти (с IndexOf
) «contents =», а затем первый следующий "
, правильно? И как только у вас есть эти индексы в строке, Substring
будет работать нормально. (Не размещение C# код, потому что я не совсем уверен, что именно это, что вы хотите, за IndexOf и подстроки ... -!)
Если да, то:
int first = str.IndexOf("contents=\"");
int last = str.IndexOf("\"", first + 10);
return str.Substring(first + 10, last - first - 10);
должны более или меньше делать то, что вы хотите (извиняется снова, если в этих жестко закодированных 10
s есть один или два, они предназначены для поддержки длины первой подстроки, которую вы ищете, немного измените их вверх или вниз, пока вы не получите именно тот результат, который вы хотите! -), но это общая концепция. Найдите начало с одним аргументом IndexOf
, найдите конец с двумя аргументами IndexOf
, отрежьте желаемую деталь с помощью Substring
...!
, например ??? – solairaja
Я не верю, что это будет сложно, но для любых нетривиальных реализаций вы смотрите на достаточно большое количество кода для написания и поддержки. И это не так, что вы будете бить где-нибудь рядом с представлением Regex. – Gregory
RegEx - одна из тех ужасно запутывающих вещей, которых не следует избегать просто из-за ее сложности.Это намного эффективнее любого стандартного строкового метода (в большинстве случаев), и, скорее всего, это лучший выбор, даже если он пугает ум. : -! –