Jerzy Dobrucki

Jerzy Dobrucki Grafik, opiekun
systemów
graficznych, Oficyna
Wydawnicza ...

Temat: grep, cyfy, liczby, spacje

Dzień dobry
Mam przeszło 300 tabel umieszczonych w dokumencie (placed from Word). Są to liczby w komorkach mające od 1 do 10 cyfr a często zakończone dwom miejscami po przecinku. Czyli mamy na przyklad.: 1,25 or 3457862, or 256 etc. To, co chcę osiągnać, to wprowadzenie spacji oddzielajacych "tysiace" - dla lepszej czytelności. Np.: 123 213 211,25
Na piechotę nie dam rady bo kazda tabela ma po 100 pól albo więcej. Muszę jakimś automatem wyszukać takie liczby (może jest ich 5 000 albo 10 000) i dodać (automatycznie) spacje co 3 cyfry w liczbach ponad trzycyfrowych w dodatku od tyłu (a czasem mam ułamki)
Kosmosss!!!
Indesign for Mac CS6
Proszę o łaskawą pomoc.

PS. Ustawienie w Wordzie oddzielania tysiący, jeśli takie jest) odpada. Tabele już są w ID.

Temat: grep, cyfy, liczby, spacje

Rozwiązałem to na 2 kroki
Krok 1
znajdź: (\d{1,9})(\d{3}(,\d{2})?)$
zamień: $1 $2

Krok 2
(\d{1,9})(\d{3})\s(\d{3})
$1 $2 $3

przy czym krok 2 do skutku, aż zamieni wszystko.

Pozdrawiam

Edit:
Przykładowa próbka liczb:
123456789
123456789,23
123456
1234
56789
9999999
7897890,55
65432123456789Ten post został edytowany przez Autora dnia 14.09.15 o godzinie 14:24
Jerzy Dobrucki

Jerzy Dobrucki Grafik, opiekun
systemów
graficznych, Oficyna
Wydawnicza ...

Temat: grep, cyfy, liczby, spacje

Na ile znam GREP to się może udać. Ale znam słabo. Czy bedę natrętny jeśli spytam o znaczenie kodów G. albo żeby gdzieś wylistować ściągawkę? Albo tak po naszemu - co on po kolei zrobi i czy tę drugą linię >zamień< modyfikować czy jest stała. Wiedziałbym, gdybym znał GREP, się rozumie.
Pozdrawiam i dziękuję za szybki respons
J
Jerzy Dobrucki

Jerzy Dobrucki Grafik, opiekun
systemów
graficznych, Oficyna
Wydawnicza ...

Temat: grep, cyfy, liczby, spacje

A tu jeszcze taki cymes: http://adobeindesign.ru/2009/02/12/chisla-v-buxgalters...
z forum Adobe
Andy L.

Andy L. ITM, VUB

Temat: grep, cyfy, liczby, spacje

może to ci pomoże:

explanation
---

(\d{1,9})(\d{3}(,\d{2})?)$

Options: Case insensitive; Free-spacing; Dot doesn’t match line breaks

Match the regex below and capture its match into backreference number 1 «(\d{1,9})»
Match a single character that is a “digit” (any decimal number in any Unicode script) «\d{1,9}»
Between one and 9 times, as many times as possible, giving back as needed (greedy) «{1,9}»
Match the regex below and capture its match into backreference number 2 «(\d{3}(,\d{2})?)»
Match a single character that is a “digit” (any decimal number in any Unicode script) «\d{3}»
Exactly 3 times «{3}»
Match the regex below and capture its match into backreference number 3 «(,\d{2})?»
Between zero and one times, as many times as possible, giving back as needed (greedy) «?»
Match the character “,” literally «,»
Match a single character that is a “digit” (any decimal number in any Unicode script) «\d{2}»
Exactly 2 times «{2}»
Assert position at the end of a line (at the end of the string or before a line break character) (carriage return and line feed pair, sole line feed, sole carriage return, vertical tab, form feed, next line, line separator, or paragraph separator) «$»

$1 $2

Insert the text that was last matched by capturing group number 1 «$1»
Insert the character “ ” literally « »
Insert the text that was last matched by capturing group number 2 «$2»
=====
explanation2
---

(\d{1,9})(\d{3})\s(\d{3})

Options: Case insensitive; Free-spacing; Dot doesn’t match line breaks

Match the regex below and capture its match into backreference number 1 «(\d{1,9})»
Match a single character that is a “digit” (any decimal number in any Unicode script) «\d{1,9}»
Between one and 9 times, as many times as possible, giving back as needed (greedy) «{1,9}»
Match the regex below and capture its match into backreference number 2 «(\d{3})»
Match a single character that is a “digit” (any decimal number in any Unicode script) «\d{3}»
Exactly 3 times «{3}»
Match a single character that is a “whitespace character” (any Unicode separator, tab, line feed, carriage return, vertical tab, form feed, zero-width space) «\s»
Match the regex below and capture its match into backreference number 3 «(\d{3})»
Match a single character that is a “digit” (any decimal number in any Unicode script) «\d{3}»
Exactly 3 times «{3}»

$1 $2 $3

Insert the text that was last matched by capturing group number 1 «$1»
Insert the character “ ” literally « »
Insert the text that was last matched by capturing group number 2 «$2»
Insert the character “ ” literally « »
Insert the text that was last matched by capturing group number 3 «$3»

konto usunięte

Temat: grep, cyfy, liczby, spacje


Obrazek

http://www.mawart.com.pl/grep.html
Jerzy Dobrucki

Jerzy Dobrucki Grafik, opiekun
systemów
graficznych, Oficyna
Wydawnicza ...

Temat: grep, cyfy, liczby, spacje

Dzięki > Tomasz, Andy , Zbyszek! Problem rozwiązany. Książkę kupię na pewno.



Wyślij zaproszenie do