草庐IT

regex_replace

全部标签

c# - 如何保留 Regex.Split 的分隔符?

我想使用Regex类中的Split函数拆分字符串。问题是它删除分隔符,我想保留它们。最好作为splitee中的单独元素。根据otherdiscussions我发现,只有不方便的方法才能实现这一目标。有什么建议吗? 最佳答案 只需将模式放入捕获组中,匹配项也将包含在结果中。string[]result=Regex.Split("123.456.789",@"(\.)");结果:{"123",".","456",".","789"}这也适用于许多其他语言:JavaScript:"123.456.789".split(/(\.)/g)Py

c# - 对于 C# 中的匹配,Regex 实例线程是否安全

我在Parallel.ForEach中使用了这个正则表达式.安全吗?Regexreg=newRegex(SomeRegexStringWith2Groups);Parallel.ForEach(MyStrings.ToArray(),(str)=>{foreach(Matchmatchinreg.Matches(str))//isthissafe?lock(dict)if(!dict.ContainsKey(match.Groups[1].Value))dict.Add(match.Groups[1].Value,match.Groups[2].Value);});

c# - 对于 C# 中的匹配,Regex 实例线程是否安全

我在Parallel.ForEach中使用了这个正则表达式.安全吗?Regexreg=newRegex(SomeRegexStringWith2Groups);Parallel.ForEach(MyStrings.ToArray(),(str)=>{foreach(Matchmatchinreg.Matches(str))//isthissafe?lock(dict)if(!dict.ContainsKey(match.Groups[1].Value))dict.Add(match.Groups[1].Value,match.Groups[2].Value);});

c# - 正则表达式.替换 : replace only first one found

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:HowtoRegexsearch/replaceonlyfirstoccurrenceinastringin.NET?如何使Regex.Replace仅替换第一个找到的模式?

c# - 正则表达式.替换 : replace only first one found

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:HowtoRegexsearch/replaceonlyfirstoccurrenceinastringin.NET?如何使Regex.Replace仅替换第一个找到的模式?

c# - 使用静态 Regex.IsMatch 与创建 Regex 实例

在C#中你应该有这样的代码:publicstaticstringimportantRegex="magic!";publicvoidF1(){//codeif(Regex.IsMatch(importantRegex)){//codezinhere.}//morecode}publicvoidmain(){F1();/*somestuffhappens......*/F1();}或者您应该保留一个包含重要模式的Regex实例?使用Regex.IsMatch的成本是多少?我想每个Regex实例中都会创建一个NFA。据我了解,这个NFA的创建非常重要。 最佳答案

c# - 使用静态 Regex.IsMatch 与创建 Regex 实例

在C#中你应该有这样的代码:publicstaticstringimportantRegex="magic!";publicvoidF1(){//codeif(Regex.IsMatch(importantRegex)){//codezinhere.}//morecode}publicvoidmain(){F1();/*somestuffhappens......*/F1();}或者您应该保留一个包含重要模式的Regex实例?使用Regex.IsMatch的成本是多少?我想每个Regex实例中都会创建一个NFA。据我了解,这个NFA的创建非常重要。 最佳答案

c# - 如何使用 Regex.Replace 从字符串中删除数字?

我需要使用Regex.Replace从字符串中删除所有数字和符号。示例输入:123-abcd33示例输出:abcd 最佳答案 尝试以下操作:varoutput=Regex.Replace(input,@"[\d-]",string.Empty);\d标识符只匹配任何数字字符。 关于c#-如何使用Regex.Replace从字符串中删除数字?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questi

c# - 如何使用 Regex.Replace 从字符串中删除数字?

我需要使用Regex.Replace从字符串中删除所有数字和符号。示例输入:123-abcd33示例输出:abcd 最佳答案 尝试以下操作:varoutput=Regex.Replace(input,@"[\d-]",string.Empty);\d标识符只匹配任何数字字符。 关于c#-如何使用Regex.Replace从字符串中删除数字?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questi

c# - 替代多个 String.Replaces

这个问题在这里已经有了答案:ReplaceMultipleStringElementsinC#(10个答案)关闭5年前。我的代码连续多次使用String.Replace:mystring=mystring.Replace("somestring",variable1);mystring=mystring.Replace("somestring2",variable2);mystring=mystring.Replace("somestring3",variable1);我怀疑有更好更快的方法来做到这一点。你有什么建议?