【问题标题】:Regex .NET question正则表达式 .NET 问题
【发布时间】:2010-07-14 20:14:14
【问题描述】:

是否可以使用 Regex.Replace 匹配字符串,但只替换匹配字符串的一部分?有什么方法可以标记应该用替换文本参数替换的部分字符串?

【问题讨论】:

    标签: c# regex


    【解决方案1】:

    您可以使用组来插入原始字符串的一部分,也可以使用lookbehind 和lookahead。

    示例

    使用组:

    someString = Regex.Replace(someString, @"(before)content(after)", "$1new content$2");
    

    使用环视:

    someString = Regex.Replace(someString, @"(?<=before)content(?=after)", @"new content");
    

    【讨论】:

    • 期待例子:)
    • 有效,但不是 \1 你需要 $1
    • @SLaks:为什么你有 ?
    • @Winforms:这些是环视断言。它对我有用:Regex.Replace("abc", @"(?&lt;=a)b(?=c)", "q") 打印 aqc
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-25
    相关资源
    最近更新 更多