在以下示例中,我需要将所有\b
替换为<b>
,将所有\b0
替换为</b>
:
快速\ b棕色狐狸\ b0跳过\ b懒狗\ b0。。感谢
答案 0 :(得分:10)
正则表达式对此非常过分(通常是这样)。一个简单的:
string replace = text.Replace(@"\b0", "</b>")
.Replace(@"\b", "<b>");
就足够了。
答案 1 :(得分:0)
您不需要正则表达式,只需replace the values with String.Replace
.
但是如果你很想知道这是怎么回事done with regex (Regex.Replace)这里有一个例子:
var pattern = @"\\b0?"; // matches \b or \b0
var result = Regex.Replace(@"The quick \b brown fox\b0 jumps over the \b lazy dog\b0.", pattern,
(m) =>
{
// If it is \b replace with <b>
// else replace with </b>
return m.Value == @"\b" ? "<b>" : "</b>";
});
答案 2 :(得分:0)
var res = Regex.Replace(input, @"(\\b0)|(\\b)",
m => m.Groups[1].Success ? "</b>" : "<b>");
答案 3 :(得分:0)
作为一个快速而肮脏的解决方案,我会在2次运行中执行此操作:首先将“\ b0”替换为"</b>"
,然后将“\ b”替换为"<b>"
。
using System;
using System.Text.RegularExpressions;
public class FadelMS
{
public static void Main()
{
string input = "The quick \b brown fox\b0 jumps over the \b lazy dog\b0.";
string pattern = "\\b0";
string replacement = "</b>";
Regex rgx = new Regex(pattern);
string temp = rgx.Replace(input, replacement);
pattern = "\\b";
replacement = "<b>";
Regex rgx = new Regex(pattern);
string result = rgx.Replace(temp, replacement);
}
}