Прочитав этот очень полезный пост о том, как использовать RegEx в MS Excel, я застрял в создании необходимого выражения для следующих сценариев - Любая помощь приветствуется.
Цель:Я хочу иметь возможность разбивать строки, как показано ниже:
Пример 1:
AB12345|AB56789x89402
---> AB12345
AB56789
89402
(каждая изтри, которые должны храниться в разных ячейках, а общее количество подстрок заранее неизвестно, может быть от 0 до 10)
Пример 2:
#AB03925#
для хранения как AB03925
Пример 3:
(ABC-SR-XYZ)|(ABC-XYZ)
для хранения как ABCXYZ
Возможно ли, чтобы все вышеперечисленные примеры обрабатывались с помощью одного RegEx?
До сих пор я создал следующее, которое частично обрабатывает случаи, подобные примеру 1:
strPattern = "(^[A-Z][A-Z][0-9]{5})([|]*[A-Z][A-Z][0-9]{5})"
If strPattern <> "" Then
strInput = C.Value
With regEx
.Global = True
.MultiLine = True
.IgnoreCase = False
.Pattern = strPattern
End With
If regEx.Test(strInput) Then
C.Offset(0, 1) = regEx.Replace(strInput, "$1")
C.Offset(0, 2) = regEx.Replace(strInput, "$2")
End If
End If
Однако я все еще делаюне знаю, как избавиться от трубы (|) при печати этих двух строк отдельно.