用于替换令牌的代码

时间:2015-10-15 15:07:33

标签: replace

如果像

这样的块,我需要一些代码来替换令牌

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

我很乐意分别调用每个if块(true然后为false) 我需要发送 函数myReplace(text,token,Boolean if if leave text or blank it)as string

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

然后 myReplace(text,“[IfIsFile:False]”,false)

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

1 个答案:

答案 0 :(得分:0)

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

        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