Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用正则表达式捕获组替换部分XML_C#_Regex - Fatal编程技术网

C# 使用正则表达式捕获组替换部分XML

C# 使用正则表达式捕获组替换部分XML,c#,regex,C#,Regex,我想捕获XML字符串的一部分,并用新值替换捕获的值 我有以下代码: Regex regex = new Regex("<ns1:AcctId>(?<AcctId>.*?)</ns1:AcctId>"); Match match = regex.Match(Xml); string AcctId = match.Groups["AcctId"].Value; string IBANizedAcctId = IBANHelper.ConvertBBANToIB

我想捕获XML字符串的一部分,并用新值替换捕获的值

我有以下代码:

Regex regex = new Regex("<ns1:AcctId>(?<AcctId>.*?)</ns1:AcctId>");
Match match = regex.Match(Xml);

string AcctId = match.Groups["AcctId"].Value;

string IBANizedAcctId = IBANHelper.ConvertBBANToIBAN(AcctId);

newXml = Regex.Replace(oldXml, regex, IBANizedAcctId); //DOES NOT WORK!
Regex Regex=new Regex((?,但我不懂)

我希望有人能帮助我!

Regex Regex=new Regex((?*);
Regex regex = new Regex("<ns1:AcctId>(?<AcctId>.*?)</ns1:AcctId>");
Match match = regex.Match(oldXml);

string AcctId = match.Groups["AcctId"].Value;

string IBANizedAcctId = IBANHelper.ConvertBBANToIBAN(AcctId);

newXml = oldXml.Replace(AcctId, IBANizedAcctId); //should work...
Match=regex.Match(oldXml); 字符串AcctId=match.Groups[“AcctId”].Value; 字符串IBANizedAcctId=IBANHelper.convertbantoiban(AcctId); newXml=oldXml.Replace(AcctId,IBANizedAcctId);//应该可以。。。
ok…出于某种原因,它不允许我发布我的答案…:(以下是我对现有代码所做的两项更改:Match Match=regex.Match(oldXml);-and-string newXml=oldXml.Replace(AcctId,IBANizedAcctId);也无法回答:但我找到了这个解决方案,这要感谢我的回答:我知道最后一部分应该是:
Xml=regex.Replace(Xml,regexString,string.Format(“$1{0}$3”,iBanizedACTID));
其中regexString有三个捕获组:
string regexdestactintString=“()(?*?))“;
$1
$3
分别引用第一个和第三个捕获组,并用新值替换中间的值。80%确定有效。@MaxOvrdrv更符合逻辑。:)试试看……我的也可以100%有效,并且可以跨整个Xml字符串。不仅仅是匹配项。取决于您;)我想捕获所有出现的
***
,它们可以包含不同的数字。我接受了答案,因为它确实有效!但我现在的要求有点不同。我为此提出了一个新问题。