繁体   English   中英

使用正则表达式解析和替换字符串

[英]Parse and replace string using Regex

我有各种看起来像这样的字符串:

$(gateway.jms.jndi.ic.url,0,tibjmsnaming, tcp)/topic/$(gateway.destination.prefix)$(gateway.StatusTopicName),$(gateway.jms.jndi.ic.username),$(gateway.jms.jndi.ic.password),abinding,tBinding

我试图找出一种方法来提取$(...)部分,并用其他一些字符串替换它们。

无论如何在C#中解析这些组并用另一个字符串替换一个?

谢谢

此正则表达式将捕获这些部分:

\\$\\([^)]+\\)

然后像这样替换(此示例将每个匹配项都更改为大写形式-您可以添加所需的任何自定义逻辑):

Regex.Replace(candidate, @"\$\([^)]+\)", delegate(Match m) {
    return m.ToString().ToUpper();
});

我对委托不是很好。这是我使用安德鲁的正则表达式得出的:

string test1 = @"$(gateway.jms.jndi.ic.url,0,tibjmsnaming, tcp)/topic/$(gateway.destination.prefix)$(gateway.StatusTopicName),$(gateway.jms.jndi.ic.username),$(gateway.jms.jndi.ic.password),abinding,tBinding";

            string regex1 = @"\$\([^)]+\)";

            var matches = Regex.Matches(test1, regex1);

            Console.WriteLine(matches.Count);
            foreach (Match match in matches)
            {
                test1 = test1.Replace(match.Value, "your String");                  
            }
            Console.WriteLine(test1);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM