Используйте Regex, чтобы найти и удалить строку, но оставьте последний символ - PullRequest
0 голосов
/ 18 марта 2019

Я хотел бы найти строку "strPattern" ниже, но используйте REPLACE, чтобы заменить только "strPattern1" - который фактически является "strPattern", исключая последний символ.

Dim strPattern As String: strPattern = "^\d{1,2}.\d{1,2}\s\OS\s[MCVH]"

Dim strPattern1 As String: strPattern1 = "^\d{1,2}.\d{1,2}\s\OS"

Dim strReplace As String: strReplace = ""
Dim regEx As New RegExp
Dim strInput As String
Dim Myrange As Range

Set Myrange = ActiveSheet.Range("B1", Range("b1").End(xlDown))

For Each cell In Myrange
    If strPattern <> "" Then
        strInput = cell.Value

        With regEx
            .Global = True
            .MultiLine = True
            .IgnoreCase = False
            .Pattern = strPattern
        End With

        If regEx.test(strInput) Then
            cell.Offset(0, 0) = regEx.Replace(strInput, strReplace)
        End If
    End If
Next

Заранее благодарю за помощь

1 Ответ

0 голосов
/ 18 марта 2019

Вам необходимо использовать поля в строке поиска '()'. например "(^ \ Д {1,2}. \ Д {1,2} \ с \ ОС \ ы) ([MCVH])". Ваша строка замены будет "$ 2".

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