c# - 仅当满足特定条件时才替换字符串中的模式 - 正则表达式

标签 c# regex string

我们如何将字符串中的 ' 替换为 \\'。 (这可以使用 Regex.IsMatch()、Regex.Matches()、Regex.Replace() 但是,只有当 ' 之前没有 \\\ 时才应该这样做。 (这是我卡住的地方)

这意味着找到所有 ' 之前没有 \\\ 然后添加相同的,即 ' 替换为 \\'

示例字符串:'abcd\'efg'hijkl'mno\\'pqrs'

结果字符串:\\'abcd\\'efg\\'hijkl\\'mno\\'pqrs\\'

最佳答案

甚至不需要正则表达式。

var newStr = oldStr.Replace("\\'", "'").Replace("'", "\\'");

使用正则表达式,您可以找到所有在它们之前没有\\':

[^\\]'

关于c# - 仅当满足特定条件时才替换字符串中的模式 - 正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16339771/

相关文章:

regex - 使用Regexp过滤Google Analytics(分析)报告

ruby - 如何跨新行拆分字符串并保留空行?

C++ getline 和 if/else if 语句没有按我的预期工作

c# - 当这种情况发生时如何通知一个人?

regex - 在Vim中,如何搜索WORD边界?

c# - 如何使用 powershell 为构建服务器构建、发布 ASP.NET 核心项目?

regex - 在 PowerShell 中,如果环境变量(如 $SystemRoot$)是字符串的一部分,我该如何转换它们?

swift - Swift 中字符串比较是如何发生的

c# - 在 VisualBrush 中绑定(bind)文本框的宽度

c# - 如何在单击按钮时动态更改组框?