Проблема:
Невозможно найти последовательный способ заменить случайную строку между кавычками на определенную строку, которую я хочу. Любая помощь будет принята с благодарностью.
Пример:
String str1 = "test=\"-1\"";
должен стать
String str2 = "test=\"31\"";
но также работает для
String str3 = "test=\"foobar\"";
В основном я хочу включить этот
String str4 = "test=\"antyhingCanGoHere\"";
в этот
String str4 = "test=\"31\"";
Попробовали:
Нечувствительное к регистру Regex без использования перечисления RegexOptions
Как сделать замену строки без учета регистра с помощью регулярных выражений?
Заменить строку между вхождениями
Заменить строку между двумя строками
Текущий код:
Regex RemoveName = new Regex("(?VARIABLE=\").*(?=\")", RegexOptions.IgnoreCase);
String convertSeccons = RemoveName.Replace(ruleFixed, "31");
Возвращает ошибку:
System.ArgumentException was caught
Message=parsing "(?VARIABLE=").*(?=")" - Unrecognized grouping construct.
Source=System
StackTrace:
at System.Text.RegularExpressions.RegexParser.ScanGroupOpen()
at System.Text.RegularExpressions.RegexParser.ScanRegex()
at System.Text.RegularExpressions.RegexParser.Parse(String re, RegexOptions op)
at System.Text.RegularExpressions.Regex..ctor(String pattern, RegexOptions options, Boolean useCache)
at System.Text.RegularExpressions.Regex..ctor(String pattern, RegexOptions options)
at application.application.insertGroupID(String rule) in C:\Users\winserv8\Documents\Visual Studio 2010\Projects\application\application\MainFormLauncher.cs:line 298
at application.application.xmlqueryDB(String xmlSaveLocation, TextWriter tw, String ruleName) in C:\Users\winserv8\Documents\Visual Studio 2010\Projects\application\application\MainFormLauncher.cs:line 250
InnerException:
найден ответ
string s = Regex.Replace(ruleFixed, "VARIABLE=\"(.*)\"", "VARIABLE=\"31\"");
ruleFixed = s;
Я нашел этот образец кода в Replace any character между AnyText: и с пустой строкой с использованием Regex? который является одной из ссылок, которые я ранее размещал, и просто пропустил этот синтаксис, потому что я думал, что не будет обрабатывать то, что мне нужно.