Рейтинг:
10
OriginalGriff
Попробуй:
Imports System.Text.RegularExpressions
...
Public Dim regex As Regex = New Regex( _
"(?<=\\\\).+(?=\\)", _
RegexOptions.Multiline _
Or RegexOptions.Singleline _
Or RegexOptions.CultureInvariant _
Or RegexOptions.Compiled _
)
...
Dim result As String = regex.Replace(strInput,strReplacement)
Цитата:
Я новичок в регулярном выражении и должен был дать полную строку
IncludeFiles = \\mckirlwebpd3srv\CDODFiles\71669\ClaimReviewCustomizationGuideV61.pdf
Выход, который мне нужен, это
IncludeFiles = p:\CDODFiles\71669\ClaimReviewCustomizationGuideV61.pdf
А! Измените строку регулярного выражения на:
Public Dim regex As Regex = New Regex( _
"\\\\.+(?=\\)", _
johnjsm
Входная строка будет иметь разную форму время от времени, поэтому я не буду знать, какой будет входная строка
OriginalGriff
Это нормально - при условии, что бит, который вы хотите заменить, начинается с "\\" и заканчивается"\", он будет работать: в этом вся идея регулярного выражения. Попробуй и увидишь!
Если ваша входная строка не всегда имеет такой формат, то вам нужно посмотреть на целую кучу примеров подлинных входов и найти некоторое "сходство", которое можно использовать в качестве основы для проверки - или никакая автоматическая система не будет работать!
johnjsm
Я новичок в регулярном выражении и должен был дать полную строку
IncludeFiles = \\mckirlwebpd3srv\CDODFiles\71669\ClaimReviewCustomizationGuideV61.pdf
Выход, который мне нужен, это
IncludeFiles = p:\CDODFiles\71669\ClaimReviewCustomizationGuideV61.pdf
OriginalGriff
Вы должны быть точны, когда говорите нам вещи! :смеяться:
См. обновленный ответ.
johnjsm
Наверное, я взволнована тем, что сегодня моя пятница, и не могу дождаться, чтобы уйти с работы.
Я попробовал обновить следующее
IncludeFiles = \\mckirlwebpd3srv\CDODFiles\71669\ClaimReviewCustomizationGuideV61.pdf
Я получаю этот вывод
\\mckirlwebpd3srv\CDODFiles\71669
OriginalGriff
Покажите мне точный код, который вы использовали, чтобы получить это - я получаю именно то, что ожидал!
johnjsm
Я тестировал его в конструкторе регулярных выражений. Я введу код и проверю его. Извините регулярное выражение сбивает меня с толку
johnjsm
Dim strInput As String = "IncludeFiles = \\mckirlwebpd3srv\CDODFiles\71669\ClaimReviewCustomizationGuideV61.pdf"
Dim strReplacement As String = "p:\"
Дим регулярные выражения, регулярные выражения = новое регулярное выражение( _
"\\\\.+(?=\\)", _
Регулярные выражения.Многострочный _
Или Регулярные Выражения.Однострочный _
Или Регулярные Выражения.CultureInvariant _
Или Регулярные Выражения.Составленный _
)
Dim result As String = regex.Replace(strInput, strReplacement)
MsgBox(результат)
OriginalGriff
Я вижу проблему! Вам нужно "как можно меньше" там:
"\\\\.+?(?=\\)", _
Получить копию Экспрессо[^] - это бесплатно, и он проверяет и генерирует регулярные выражения.
johnjsm
Это работает. Огромное спасибо
OriginalGriff
Всегда пожалуйста!