2015-10-15 3 views
0

мне нужны коды, чтобы заменить из маркеров, если блок, такие каккода для замены из маркеров, если блоки

MYTEXT = «некоторый текст [IfIsFile: Правда]. Это файл [EndIfIsFile: Правда] [IfIsFile: ложные] это не файл [EndIfIsFile:. ложные] больше текста»

Я рад созвонимся, если блок отдельно (правда, то ложь) мне нужно отправить в функции myReplace (текст, маркер, Boolean если оставить текст или пустым его) в виде строки

Я могу назвать это myReplace (текст, «[IfIsFile: True]», true)

, а затем myReplace (текст, "[IfIsFile: Ложные]", ложь)

результаты будут «какой-то текст. это файл. больше текста»

+0

на самом деле это можно было бы назвать с начала токен и конца токен, такой как myReplace (текст, «[IfIsFile: True]», «[EndIfIsFile: True]», true) – Doug

+0

Какой язык вы используете? Что вы пробовали? SO - это не бесплатная служба написания кода. –

+0

I я использую vb.net, но я могу получить это из C# или vb.net. Я не ищу бесплатный код, а функцию, которую кто-то уже написал для этой задачи. В противном случае я сам пишу сам – Doug

ответ

0

хорошо, я думал, что это будет намного сложнее, но я был в состоянии написать его, если кто-то хочет, чтобы получить возможность отправлять улучшенный код -. Pls сделать

 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 
Смежные вопросы