我有一句话,“姓名#2”,字符串正则表达式替换
我需要更换“#”,以“号”,
最后一句需要“名称编号2" 。
码 -
string sentence = Regex.Replace("Name # 2", "\\#\\b", "No.");
显然,Regex.Replace无法取代“#”与“否”,有没有解决这个问题的正确道路,通过正则表达式。 感谢 我要寻找一个正则表达式的原因是因为它执行的通用代码,它看起来像下面
string pattern = string.Format(@"\b{0}\b", context);
sentence = System.Text.RegularExpressions.Regex.Replace(sentence, pattern, suggestion);
语境 - “#”
一句话 - “姓名#2”
建议 - “否”
预期的一句话 - “名称2号”
实际一句话 - “姓名#2”
语境 - “是”
一句话 - “他打算”
建议 - “是”
预期的一句话 - “他要”
实际句话 - “他要”
语境 - “一”
一句话 - “他是在一个时间点去。”
建议 - “Z”
预期的一句话 - “他在一次ž点去”
OMG!为什么是正则表达式? –
@ThomasWeller我编辑了我的问题。 – Sandepku
'\ b'匹配单词边界(字母数字和其他)。在你的输入中'#'旁边没有这样的边界。 –