Replace 用于替换out令牌的代码(如果是块)

Replace 用于替换out令牌的代码(如果是块),replace,Replace,我需要一些代码来替换令牌,如果块 myText=“一些文本。[IfIsFile:True]这是一个文件[EndIfIsFile:True][IfIsFile:False]这不是一个文件[EndIfIsFile:False]。更多文本” 我很高兴分别调用每个if块(true和false) 我需要把信寄过来 函数myReplace(文本、标记、布尔值(如果保留文本或为空)作为字符串 我可以称之为 myReplace(文本“[IfIsFile:True]”,True) 然后 myReplace(文本“

我需要一些代码来替换令牌,如果块

myText=“一些文本。[IfIsFile:True]这是一个文件[EndIfIsFile:True][IfIsFile:False]这不是一个文件[EndIfIsFile:False]。更多文本”

我很高兴分别调用每个if块(true和false) 我需要把信寄过来 函数myReplace(文本、标记、布尔值(如果保留文本或为空)作为字符串

我可以称之为 myReplace(文本“[IfIsFile:True]”,True)

然后 myReplace(文本“[IfIsFile:False]”,False)

结果将是
“一些文本。这是一个文件。更多文本”

好的,我想这会更难,但我能写出来。如果有人想发布改进的代码-请这样做

        Protected Function ReplaceIfToken(ByVal sText As String, ByVal startToken As String, ByVal endToken As String, ByVal bLeave As Boolean) As String
        Dim str As String = sText
        Dim iStart As Integer = 0
        Dim iEnd As Integer = 0
        iStart = InStr(str, startToken)
        iEnd = InStr(str, endToken)
        While iStart > 0
            Dim fullTokenText As String = str.Substring(iStart - 1, iEnd + endToken.Length - iStart)
            Dim fullTokenTextwoToken As String = fullTokenText.Replace(startToken, "").Replace(endToken, "")
            If bLeave Then
                str = str.Replace(fullTokenText, fullTokenTextwoToken)
            Else
                str = str.Replace(fullTokenText, "")
            End If
            iStart = InStr(str, startToken)
            iEnd = InStr(str, endToken)
        End While
        Return str
    End Function

实际上,可以使用开始标记和结束标记调用它,例如myReplace(文本,“[IfIsFile:True]”,“[EndIfIsFile:True]”,True)您使用的是什么语言?你试过什么?所以这不是一个免费的代码编写服务。我使用的是vb.net,但我可以从c#或vb.net获得。我不是在寻找免费的代码,而是有人已经为这个任务编写了一个函数。否则我会自己写出来