問題:
引用符の間のランダムな文字列を必要な特定の文字列に置き換える一貫した方法が見つかりません。どんな助けでも大歓迎です。
例:
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;
このコードサンプルは、AnyText:とRegexを使用した空の文字列の間にある任意の文字を置き換えますか?これは私が以前に投稿したリンクの1つであり、必要なものを処理できないと思ったため、この構文をスキップしました。