根据单词的部分匹配替换子字符串

本文关键字:替换 字符串 单词 | 更新日期: 2023-09-27 18:02:02

我有两个字符串:-

String S1 = "This is my'r'n string."
String S2 = "This is my'n self."

我想有一个通用的方法来取代任何存在的"'n"到"'r'n"。但它不应该替换字符串的任何部分,如果它已经有"'r'n"

根据单词的部分匹配替换子字符串

使用正则表达式:

string result = Regex.Replace(input, @"(?<!'r)'n", "'r'n");

匹配前面没有'r的所有'n

试试这样:

var unused = "§";
S2 =
    S2
        .Replace("'r'n", unused)
        .Replace("'n", unused)
        .Replace(unused, "'r'n");

假设您有良好的标准输入文本,即没有连续的'r,您可以简单地使用:

var result = S1.replace("'n","'r'n").replace("'r'r","'r")

这在一般情况下是行不通的,显然