Próbuję dowiedzieć się, jak znaleźć określoną postać i zastąpić go znakiem Unicode. W moim przykładzie chcę znaleźć wszystkie spacje (s) i zastąpić je wąską lub cienką przestrzenią (np. Unicode U + 2006).


Przykładowy tekst

8. 3. 2014


Wzór wyszukiwania

(\d{1,2}\.)(\s?)(\d{1,2}\.)(\s?)(\d{2,4})


Wzór wymiany

$1{UNICODE}$3{UNICODE}$5


Z jakiegoś powodu nie mogę zastąpić (!) Postaci Unicode, mogę tylko szukać tylko jednego. Pracuję z aplikacją REGEX zwaną »Regexrx 3«, aby przetestować swoje struny. W końcu chcę być w stanie użyć go z funkcją Adobe InDesign GREP.

Wiem, że mogę po prostu skopiować i wkleić prawidłową białąawkę na miejsce, ale jestem zainteresowany, jak to zrobić za pomocą znaku Unicode.

Z góry dziękuję!

-1
r00ky 20 marzec 2020, 12:20

1 odpowiedź

Najlepsza odpowiedź

InDesign używa wyrażeń regularnych zgodnych z perl (PCRE). Uzyskiwanie znaku Unicode do ciągów zastępczy odbywa się przez \x{XXXX} gdzie XXXX jest kodeksem charakteru szesnastkowym:

$1\x{2009}$2\x{2009}$5

Ale ogólnie możesz zastąpić dowolną postacią, którą możesz wpisać. Po prostu umieść rzeczywiste cienkie przestrzenie do okna dialogowego wyszukiwania i wymiany:

$1 $3 $5

Możesz użyć narzędzi systemu operacyjnego, aby chwycić cienką przestrzeń z listy dostępnych znaków, dla systemu Windows To narzędzie "Mapa znaków", gdzie cienkie miejsce można znaleźć w podobiegu "ogólnej interpunkcji" Unicode. Szukasz pracy "cienkiej przestrzeni". MacO ma "przeglądarka znaków", który może zrobić to samo.

Thin Space selection on Windows

1
Tomalak 23 marzec 2020, 12:56