Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.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#替换匹配起始端的表达式_C#_Regex_Replace - Fatal编程技术网

C#替换匹配起始端的表达式

C#替换匹配起始端的表达式,c#,regex,replace,C#,Regex,Replace,有谁能帮我在C#中替换任何以“startingChars”开头,以“endingChars”结尾的字符串……类似这样的内容: Regex.Replace(strToReplaceIn, "startingChars[anyNumberOfChars]endingChars", myFunction(anyNumberofChars)); 其中strStartingChars和StrengtingChars是两个字符串,定义了myFunction 例如,如果起始字符是“Hello,我需要将Sta

有谁能帮我在C#中替换任何以“startingChars”开头,以“endingChars”结尾的字符串……类似这样的内容:

Regex.Replace(strToReplaceIn, "startingChars[anyNumberOfChars]endingChars", myFunction(anyNumberofChars));
其中strStartingChars和StrengtingChars是两个字符串,定义了myFunction

例如,如果起始字符是“Hello,我需要将StartingChars替换为\u SOMETHING indingChars,…”结果是:
“Hello,我需要将myFunctionResult(“替换为\u SOMETHING”),…”

请告诉我Regex.Replace表达式会有帮助,问题不是找到匹配的表达式,而是替换…我如何引用

anyNumberOfChars  
在表达式的替换参数中


我希望它足够清楚…谢谢你

你应该使用这样的regexp:

abc.*xyz
abcblablablaxyz
它将匹配如下字符串:

abc.*xyz
abcblablablaxyz
考虑使用最小匹配:

abc.*?xyz

这将只匹配到第一个xyz,而不是搜索到最后一个。

您应该使用这样的regexp:

abc.*xyz
abcblablablaxyz
它将匹配如下字符串:

abc.*xyz
abcblablablaxyz
考虑使用最小匹配:

abc.*?xyz
这将只匹配到第一个xyz,而不是搜索到最后一个。

^yourString&

^-表示字符串的开头
&-字符串的结尾

^yourString&

^-表示字符串的开头

&-字符串结尾

您可以使用命名组轻松获取要替换的内容,并使用匹配计算器构造替换字符串:

using System.Text.RegularExpressions;

static class Program {
    static void Main(string[] args) {
        string strToReplaceIn = "Hello, I need to replace startingCharsWITH_SOMETHINGendingChars, ....";
        string replaced = Regex.Replace(strToReplaceIn, "startingChars(?<contents>.*?)endingChars", (match) => {
            return "myFunctionResult(" + match.Groups["contents"].Value + ")";
        });
    }
}

(注意:组[0]代表整个匹配)

您可以使用命名组轻松获取要替换的内容,并使用匹配计算器构造替换字符串:

using System.Text.RegularExpressions;

static class Program {
    static void Main(string[] args) {
        string strToReplaceIn = "Hello, I need to replace startingCharsWITH_SOMETHINGendingChars, ....";
        string replaced = Regex.Replace(strToReplaceIn, "startingChars(?<contents>.*?)endingChars", (match) => {
            return "myFunctionResult(" + match.Groups["contents"].Value + ")";
        });
    }
}

(注意:组[0]代表整个匹配)

这正是我需要的…非常感谢,请注意:
{return“myFunctionResult”(+match.Groups[“contents”].Value+);}
成为我的表单
myFunction(match.Groups[“contents”].Value;
@SandraS.很高兴它有帮助:)干杯这正是我所需要的……非常感谢,请注意:
{return“myFunctionResult”(+match.Groups[“contents”].Value+);}
成为我的表单
myFunction(match.Groups[“contents”].Value;
@SandraS.庆幸它有帮助:)干杯