2017-12-22 18 views
0

VBA 단어에 공백이 뒤 따르는 두 공백이 하나의 공백 다음에 숫자로 바뀌는 정규식을 작성하려고합니다.어떻게이 정규식을 VBA 단어로 작성합니까?

With ActiveDocument.Content.Find 
    .Text = "(\s\s\d)" 
    .Replacement.Text = "(\s\d)" 
    .Forward = True 
    .ClearFormatting 
    .Replacement.ClearFormatting 
    .MatchWildcards = True 

End With 
ActiveDocument.Content.Find.Execute Replace:=wdReplaceAll 

내가 오히려 더 효과를 내 문서에서 발생하지, 어떤 오류 메시지가 표시되지 않습니다 이것은 내가 가지고 올했지만 그것이 작동하지 않는 것입니다.

https://docs.microsoft.com/en-us/dotnet/standard/base-types/regular-expression-language-quick-reference

#

UPDATE 나는 고급 찾기를 사용하여 교체 시도

와 나는 use wild cards을 확인하고 나는

Find: [0-9] 
Replace: [0-9] 
에 넣어 :

공식 문서는 여기에 있습니다

Find :와 [and 1 space be] 사이에 2 칸 공백이 있습니다. tween Replace : and [하지만 'hey 8'은 'hey [0-9]'로 바뀌었다.

당신은 찾기 및 바꾸기 위해 wildcards을 사용할 수 있습니다
+0

참고 : 연결된 문서는 .Net 설명서이며 VBA와 관련이 없습니다. – YowE3K

+0

연결된 문서는 VBA와 전혀 관련이 없습니다. VBA는 VB.Net 또는 VB 또는 VBScript가 아닙니다. VB에서 시작한다고해서 모두 동일하다는 것을 의미하지는 않습니다 ** cat ** 및 ** car ** 및 ** carrot **는 모두 ** ca로 시작하므로 모두 동일합니다. **. http://word.mvps.org/FAQs/General/UsingWildcards.htm –

답변

1

:

찾기 : 교체

SpaceSpace([0-9]) (([0-9]) 앞의 두 자리) : Space\1 (단일 공간과 \1) Regex

유사, ()wildcards에서 그룹화에 사용됩니다. \1은 발견 된 텍스트의 첫 번째 그룹을 나타내며,이 경우 숫자입니다.

텍스트 앞에 올 수있는 공백 수에 대해 잘 모르는 경우 을 찾으려면 단어를 알려주는 Space{1,}을 사용할 수 있습니다.

+0

감사합니다. 정말 고맙습니다. –