Mariusz Mazurek

Mariusz Mazurek Księgowy, Biuro
Rachunkowe Mariusz
Mazurek

Temat: wyszukiwanie fragmentu numeru kodu kreskowego z ciągu

Mam taki przykład:
/5900592337155/korpus9065386185734/0936155794732/9212121212129/8313131313138/7414141414147/
I potrzebuję wyciągnąć z tego od słowa korpus 13 znaków. Czyli wynik by był taki:
9065386185734
Może ma ktoś pomysł jak to zrobić?
Krzysztof Wojtal

Krzysztof Wojtal Specjalista ds
systemu ERP, PL/SQL,
Crystal rep., Power
B...

Temat: wyszukiwanie fragmentu numeru kodu kreskowego z ciągu

Cześć,

Być może jest lepszy i prostszy sposób wycięcia tego w Crystalu, dawno się już nie bawiłem ciągami.
Zamiast ciągu 'NASZ_CIAG_ZNAKOW' podstawiasz swoje dane:

// przy zalozeniu, ze zawsze bedzie wystepowalo slowo "korpus" bedziemy zastepowac je pustym ciagiem
Replace(
Mid('NASZ_CIAG_ZNAKOW',
// ustalamy polozenie drugiego znaku "/", od ktorego bedziemy wycinac ciag znakow
InStr(2,'NASZ_CIAG_ZNAKOW','/') + 1,
// ustalamy, jaka ilosc znakow chcemy wyciac
InStr(InStr(2,'NASZ_CIAG_ZNAKOW','/') + 1,'NASZ_CIAG_ZNAKOW','/') -
InStr(2,'NASZ_CIAG_ZNAKOW','/') - 1 )
// wycinamy slowo "korpus"
,'korpus','');

Pozdrawiam
Krzysiek
Marcin S.

Marcin S. Programista, trener
i konsultant w
zakresie .NET/.NET
Cor...

Temat: wyszukiwanie fragmentu numeru kodu kreskowego z ciągu

Można prościej ;-)

Możesz skorzystać z własności, że twój ciąg podzielony jest ukośnikami.

1. Zatem dzielimy ciąg za pomocą funkcji Split i otrzymujemy tablicę stringów.
Pamiętaj, że w Crystalu elementy tablicy numerowane są od 1.

2. Wyciągamy element za pomocą indeksu [indeks] (w twoim przypadku to 3 element).

3. Usuwamy z elementu fragment "korpus" sprytnie za pomocą funkcji Replace

Cała formuła wygląda tak:

Replace(Split({@Input},'/')[3], 'korpus', '')

Następna dyskusja:

dynamiczny raport z kodu c#...




Wyślij zaproszenie do