我需要用'|'来包围所有'&'在一个字符串中,但只有当没有'|'有 例如。以下字符串( - >预期结果):c#正则表达式替换插入
- “我&你” - > “我| & |你”
- “我| &你” - >不改变
- “我& |您” - >不改变
- “我&你” - > “我| & |你”
我想通了选择(至少我认为)这将抓住例子1和4
[^|]&[^|]
但现在我坚持创建替换模式。 我知道我需要在'&'之前和之后复制零件,但无法使其工作。最近的结果与
|&|
而在此之前和“&”
注后也删除卡拉科特:我不能使用
s.Replace("&", "|&|").Replace("||&", "|&").Replace("&||", "&|");
为字符串已经可以包含“| | &“,并且不会产生预期结果。
任何正则表达式的替代方案也是值得欢迎的!
您是否需要在字符串的开始/结束处替换&?有连续&?如果不是,则使用捕获组:'([^ |])&([^ |])'并替换为$ 1 |&| $ 2'。 –
如果您需要解释,我可以发布我的答案。让我知道你是否需要这个。 –