如何使用正则表达式删除单引号之前和之后的特定字符

我有一个带有单引号的文本字符串,我想使用正则表达式删除该单引号之前和之后的括号。任何人都可以建议我谢谢你。

例如,我期望的结果是(name equal '('John')')name equal '('John')'


牧羊人nacy
浏览 128回答 3
3回答

拉莫斯之舞

使用正则表达式string input = "(name equal '('John')')";Regex rx = new Regex(@"^\((.*?)\)$");Console.WriteLine(rx.Match(input).Groups[1].Value);使用子字符串方法String input= "(name equal '('John')')";var result = input.Substring (1, input.Length-2);Console.WriteLine(result); 结果:name equal '('John')'

吃鸡游戏

使用消极的后视和消极的向前看,如果它遇到,这将停止匹配,例如(?<! )(?! )'(?<!')\(|\)(?!')该示例将其解释为注释:string pattern =@"(?<!')\(&nbsp; &nbsp; &nbsp;# Match an open paren that does not have a tick behind it|&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # or\)(?!')&nbsp; &nbsp; &nbsp; # Match a closed paren tha does not have tick after it";var text = "(name equal '('John')')";&nbsp;// Ignore Pattern whitespace allows us to comment the pattern ONLY, does not affect processing.var final = Regex.Replace(text, pattern, string.Empty, RegexOptions.IgnorePatternWhitespace);结果名称等于“(”约翰“)”

繁星coding

试试这个:var&nbsp;replaced&nbsp;=&nbsp;Regex.Replace("(name&nbsp;equal&nbsp;'('John')')",&nbsp;@"\((.+?'\)')\)",&nbsp;"${1}");该类位于命名空间中。RegexSystem.Text.RegularExpressions
打开App,查看更多内容
随时随地看视频慕课网APP