我有一个句子,"Name # 2",
我需要用"No."替换'#',
最终的句子应该是"Name No. 2"。
代码 -
string sentence = Regex.Replace("Name # 2", "\\#\\b", "No.");
显然,Regex.Replace无法将“#”替换为“No”,有没有一种正确的方法通过正则表达式来解决这个问题。 谢谢 我寻找正则表达式模式的原因是因为有一个通用代码执行,看起来像下面这样
string pattern = string.Format(@"\b{0}\b", context);
sentence = System.Text.RegularExpressions.Regex.Replace(sentence, pattern, suggestion);
上下文 - "#"
句子 - "Name # 2"
建议 - "不是"
预期句子 - "Name No. 2"
实际句子 - "Name # 2"
上下文 - "were"
句子 - "He were going"
建议 - "was"
预期句子 - "He was going"
实际句子 - "He was going"
上下文 - "a"
句子 - "He was at a point in time going."
建议 - "z"
预期句子 - "He was at z point in time going"
\b
匹配单词边界(字母数字和其他字符之间)。在您的输入中,该#
旁边没有这样的边界。 - Hans Kesting