问题:
我找不到一种一致的方法来将引号之间的随机字符串替换为我想要的特定字符串。任何帮助都将不胜感激。
示例:
String str1 = "test=\"-1\"";
应该变成
String str2 = "test=\"31\"";
但也适用于
String str3 = "test=\"foobar\"";
基本上我想把这个转变一下
String str4 = "test=\"antyhingCanGoHere\"";
变成这样
String str4 = "test=\"31\"";
尝试过的:
如何在不使用RegexOptions枚举的情况下实现大小写不敏感的正则表达式
如何使用正则表达式将AnyText:和<usernameredacted@example.com>之间的任何字符替换为空字符串?
当前代码:
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 in between AnyText: and with an empty string using Regex? 中找到了这段代码示例,但由于我认为它不能处理我需要的内容,所以跳过了这个语法。
\".*\"
吗? - Ilya Ivanov