加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 通过正则表达式替换循环

发布时间:2020-12-15 18:16:00 所属栏目:百科 来源:网络整理
导读:所以我有这个字符串[]: string[] middleXMLTags = {"/Table1Table2","/Table2Table3"}; 我想用它做这样的事情: int i = 0;foreach (regex where it finds the replacement string){ response = Regex.Replace(response,"/TableTable",middleXMLTags[i]); i
所以我有这个字符串[]:
string[] middleXMLTags = {"</Table1><Table2>","</Table2><Table3>"};

我想用它做这样的事情:

int i = 0;
foreach (regex where it finds the replacement string)
{
    response = Regex.Replace(response,"</Table><Table>",middleXMLTags[i]);
    i++;
}
response = Regex.Replace(response,"<Table>",<Table1>);
response = Regex.Replace(response,"</Table>",</Table3>);

最后,我只是问是否有可能以某种方式遍历正则表达式,因此能够用存储在字符串[]中的不同值替换字符串.它不一定是一个foreach循环,我知道这段代码很荒谬,但我听到它要求最清楚的问题.如果您有任何问题,请评论我.

谢谢你的帮助=)

解决方法

您可以枚举替换字符串.你必须根据自己的需要定制它,但我想这样的东西会起作用.
Regex needle = new Regex("[letter]");
string haystack = "123456[letter]123456[letter]123456[letter]";
string[] replacements = new string[] { "a","b","c" };

int i = 0;
while (needle.IsMatch(haystack))
{
    if (i >= replacements.Length)
    {
        break;
    }

    haystack = needle.Replace(haystack,replacements[i],1);
    i++;
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读