Функция VB.NET REPLACE - PullRequest
       3

Функция VB.NET REPLACE

1 голос
/ 08 июля 2011

Я использую функцию замены для замены символа в файле

sw.WriteLine(Regex.Replace(strLine, "\\", Chr(13)))

Этот код работает нормально, но теперь я хочу заменить два раза и хочу использовать функцию замены дважды. Как то так, но не работает. Может кто-нибудь сказать мне, как использовать функцию замены несколько раз?

sw.WriteLine(Regex.Replace(strLine, "\\", Chr(13)).Replace(strLine, Chr(13), ""))

Ответы [ 3 ]

4 голосов
/ 08 июля 2011

Ваша вторая замена использует расширение String.Replace, а не метод Regex.Replace.

Функция Regex.Replace возвращает строку, а не регулярное выражение, поэтому ваш второй вызов регулярного выражения не работает. Для нескольких вызовов Regex.Replace вам придется выполнять каждый из них по отдельности или изменять оператор замены.

Возможно, вы могли бы просто использовать функцию String.Replace для этого:

sw.WriteLine(strLine.Replace("\\", Chr(13)).Replace(Chr(13), ""))
1 голос
/ 08 июля 2011
sw.WriteLine(Regex.Replace(Regex.Replace(strLine, "\\", Chr(13)), Chr(13), "")

Здесь это более продуманно, чтобы вы могли видеть, что происходит:

Dim firstIteration = Regex.Replace(strLine, "\\", Chr(13))

Dim secondIteration = Regex.Replace(firstIteration, Chr(13), "")

sw.WriteLine(secondIteration)
0 голосов
/ 17 апреля 2013

Заменить возврат каретки в строке можно следующими способами: str_souce = str_source.Replace(vbCrLf, "") str_souce = str_source.Replace(chr(13) & chr(10), "") str_souce = str_source.Replace(environment.newline, "")

, если ничего из вышеперечисленного не работает, попробуйте следующий.Может даже работать на стороннем программном обеспечении str_souce = str_source.Replace(vbCr, "").Replace(vbLf, " ")

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...