kategoria: ARexx
[#1] [arexx] dzielenie tekstu
Czesc,
potrzebuje sposobu na podzial "string-u", np:
123/45/689/172

Chcialbym uzyskac 4 liczby a "dzielnikiem" ma byc "/"

Tak "na biegu" wymyslilem dosc paskudny sposob uzywajac POS() oraz SUBSTR() ale az wstyd go tutaj zamieszczac.

Czy jest cos na wzor Split("123/45/689/172","/") ?

Dzieki.
[#2] Re: [arexx] dzielenie tekstu

@peceha, post #1

Jest instrukcja parse, dość skomplikowana, nie podam Ci szczegółów, bo już nie pamiętam.
[#3] Re: [arexx] dzielenie tekstu

@cholok, post #2

Dzieki za podpowiedz - przynajmniej teraz wiem gdzie szukac.
[#4] Re: [arexx] dzielenie tekstu

@peceha, post #1

Spróbuj tak (przetestowałem pod VB6.0):
p=1     // Pozycja w ciągu tekstowym, od której zacznie pobierać pierwszą sekwencję numeryczną za pomocą Mid()
sText="123/45/689/172"
Gosub PickSequence
Print t // Wyświetl pierwszą sekwencję liczbową (ponowny skok do PickSequence rozpocznie pobieranie kolejnej sekwencji wykorzystując zapamiętaną pozycję w zmiennej 'p')
End

PickSequence:
n = "": t = ""
While n <> "/" And p - 1 <= Len(sText)
    t = t + n
    n = Mid(sText, p, 1): p = p + 1
Wend
Return


Edit: Świetna robota z NotAnAltTab OK

Edit.2: Teraz do mnie dotarło, że w tytule masz [arexx]. Nie znam Arexx'a, więc nie mam zielonego pojęcia, czy cokolwiek z tego, co napisałem może mieć w nim jakieś zastosowanie

Ostatnia aktualizacja: 12.03.2018 00:45:02 przez Umpal
[#5] Re: [arexx] dzielenie tekstu

@peceha, post #1

Paskudny sposób, mimo że jest paskudny, to jednak niezawodny i nie bój się z niego korzystać jeśli nic innego nie znajdziesz. Czasem trzeba sobie ubrudzić łapy i napisać rzeczy na piechotę
[#6] Re: [arexx] dzielenie tekstu

@Umpal, post #4

Hehe, wlasnie tak przygladam sie temu listingowi i zastawiam sie gdzie tu arexx szeroki uśmiech - dzieki za checi mimo wszystko.

@teh_KaiN
wlasciwie to masz racje - wazne ze dziala
Problem w tym, ze ten "potworek" bedzie siedzial w kilku skryptach a w takim wypadku nie moglbym spojrzec na siebie w lustro szeroki uśmiech

Jakby nie bylo dzis patrze na "PARSE" bo wczoraj cos innego zajelo moja uwage.
[#7] Re: [arexx] dzielenie tekstu

@peceha, post #6

Rexx jest bardzo fajny! Używam go do parsowania logów na Solarisie.
Odpal to w cli:

rx "txt='123/45/689/172'; parse var txt a1 '/' a2 '/' a3 '/' a4; say 'a1='a1' a2='a2' a3='a3' a4='a4"

czyli konstruujesz sobie wzorzec na zasadzie: w ' ' wstawiasz kawałki w/g których ma dzielić, a pomiędzy - nazwy zmiennych do których ma przypisać daną część.
[#8] Re: [arexx] dzielenie tekstu

@BigBang, post #7

Dzięki!
Jak to się mówi za granicą 😀: "you made my Day"
Na stronie www.PPA.pl, podobnie jak na wielu innych stronach internetowych, wykorzystywane są tzw. cookies (ciasteczka). Służą ona m.in. do tego, aby zalogować się na swoje konto, czy brać udział w ankietach. Ze względu na nowe regulacje prawne jesteśmy zobowiązani do poinformowania Cię o tym w wyraźniejszy niż dotychczas sposób. Dalsze korzystanie z naszej strony bez zmiany ustawień przeglądarki internetowej będzie oznaczać, że zgadzasz się na ich wykorzystywanie.
OK, rozumiem