Home Forums TWORZENIE SCENARIUSZA Wyrażenia regularne

Viewing 3 posts - 1 through 3 (of 3 total)
  • Author
    Posts
  • #5389

    W jaki sposób oraz gdzie (w jakich akcjach) mogę korzystać z wyrażeń regularnych?
    Przykładowo, chcę sprawdzić komunikat na ekranie ale jest on za każdym razem unikalny bo ma datę dzisiejszą.
    Jak to zrobić aby pominąć ten fragment komunikatu.

    #5390
    mwawiorko
    Keymaster

    Aby pozbyć się daty lub sprawdzić czy ona jest w tekście można spróbować podejśc do tego na różne sposoby. Uzależnione jest to od tego
    * gdzie znajduje się data
    * czy jest zawsze w tym samym miejscu w tekście ( na końcu/na początku)
    * czy zawsze ma taki sam format

    Jest kilka sposobów:
    1. Możemy stworzyć nowego stringa z pobranego tekstu i usunąć z niego date bo np. zawsze wygląda tak i jest np. 2021.01.02 na końcu komunikatu
    w aktywności assigne dla nowej_zmiennej przypisujemy komunikat.trim.Substring(0,(komunikat.trim.length-10))
    * trim usuwa białe znaki na końcu i na początku
    * 0 – od pierwszego miejsca
    * (tekst.trim.length-10) – sprawdza długość ciągu bo jeśli założymy że data jest na końcu to nie chcemy jej widzieć w ramach nowej zmiennej

    2. wyrażenia regularne też przypisuje w assigne lub w warunku
    np.(System.Text.RegularExpressions.Regex.Match(komunikat,”\d{4}.\d{2}.\d{2}”)).toString jeśli w ciągu jest taki ciąg jak zapisany wzorem znajdzie go i zwróci date, którą możemy z komunikatu usunąć metodą replace

    3. Jeżeli znamy treści komunikatów w systemie to możemy użyć metody:
    komunikat.Contains(“treść której oczekujemy”) , zwróci nam true jeśli komunikat ma w sobie wyrażenie w nawiasie.
    Tu ważna jest wielkość liter i każda spacja między znakami.

    Scenariusz w załączniku zip

    Attachments:
    You must be logged in to view attached files.
    #5393

    Jak mam wywołać to w warunku akcji Decision jak chcę sprawdzić czy numer NIP zaczyna się od liter?
    Nie mam dostępnego takiego wywołania: System.Text.RegularExpressions.Regex.Match(“PL1111111111”, ([a-zA-Z]*))
    Takie wyrażenie zwróci PL więc wystarczy porównać wynik z PL ale jak to wywołać w Condition?

Viewing 3 posts - 1 through 3 (of 3 total)
  • You must be logged in to reply to this topic.