Strona 3 z 3

Re: Oficjalny klient - przekształcenia tekstu

: 15 lut 2017 21:53
autor: Werbat
No to podmień string "lecz tobie udaje sie uniknac tego ciosu" na string "unik", to chyba logiczne.

Re: Oficjalny klient - przekształcenia tekstu

: 15 lut 2017 22:24
autor: Rafgart
Cos takiego:
^.* lecz tobie udaje sie uniknac tego ciosu\.$

Re: Oficjalny klient - przekształcenia tekstu

: 15 lut 2017 22:38
autor: Miril
Rafgart pisze:Cos takiego:
^.* lecz tobie udaje sie uniknac tego ciosu\.$
Dziękuję, pomogło.

Werbat, podmiana części stringa na inny string nie załatwia sprawy, bo efekt byłby taki:

Kostropaty zielonkawy stworek probuje cie trafic ruchliwym ogonkiem, lecz tobie udaje sie uniknac tego ciosu.
Kostropaty zielonkawy stworek probuje cie trafic ruchliwym ogonkiem, UNIK.

Zawsze zostawałaby ta niezdefiniowana cześć komunikatu, która różni się w zależności od przeciwnika, więc musiałbym podmienić każdą możliwa ewentualność.

Re: Oficjalny klient - przekształcenia tekstu

: 16 lut 2017 18:41
autor: Werbat
W całości, nie zrozumiałem. No to tak, to .*, czyli 'dowolna ilość dowolnych znaków'.

Re: Oficjalny klient - przekształcenia tekstu

: 24 lut 2018 23:32
autor: Aru
Cześć,

Da się zrobić tak żeby przy:

rud(a|e|ych) owlosion(a|e|ych) elf(ka|ki|ek)

zmieniało się przykładowo zależnie od odmiany na

Andżelika/Andrzeliki/Andżelik

Normalnie w kliencie wskakuje końcówka z ostatniego nawiasu. Jak to zmienić?

Pzdr

Re: Oficjalny klient - przekształcenia tekstu

: 25 lut 2018 03:08
autor: Werbat
W takim wypadku najlepiej byłoby zrobić podmiankę 'rud.* owlosion.* elf(.*)' na 'Andżeli + końcówka'. Normalne wyrażenie regularne łapie to bez problemu (nie używam klienta webowego, ale nie sądzę, żeby te 'przekształcenia' były jakimś rocket science, a nie po prostu regexpem):

Kod: Zaznacz cały

bash-3.2$ echo 'ruda owlosiona elfka' | sed -e 's/rud.* owlosion.* elf\(.*\)/Andzeli\1/'
Andzelika
bash-3.2$ echo 'rude owlosione elfki' | sed -e 's/rud.* owlosion.* elf\(.*\)/Andzeli\1/'
Andzeliki
bash-3.2$ echo 'rudych owlosionych elfek' | sed -e 's/rud.* owlosion.* elf\(.*\)/Andzeli\1/'
Andzeliek
Tylko zauważ, że w trzecim przykładzie zrobi się już syf, bo regexp to regexp i po prostu zamienia string A na string B, nie ma w tym żadnej magii - i w związku z tym nie ma też w nim żadnego mechanizmu klauzuli 'if'. W bardziej zaawansowanym kliencie pewnie dałoby się to oskryptować właśnie jakimś if/case.

Ale wiesz co? Najprościej będzie zrobić po prostu trzy osobne podmianki bez czarowania w wyciąganie końcówki, czyli 'ruda owlosiona elfka' na 'Andżelika', 'rude owlosione elfki' na 'Andżeliki' i 'rudych owlosionych elfek' na 'Andżelik'. To więcej klepania, ale zadziała na 100%.

Re: Oficjalny klient - przekształcenia tekstu

: 25 lut 2018 08:55
autor: Aru
No właśnie taki problem miałem, myślałem że da się jakoś to ogarnąć. Dzięki za info.

Re: Oficjalny klient - przekształcenia tekstu

: 08 gru 2018 21:09
autor: Kvark
Czy zastosowanie kilkudziesięciu lub więcej przekształceń może mieć wpływ na wydajność klienta webowego?

Re: Oficjalny klient - przekształcenia tekstu

: 11 gru 2018 11:10
autor: Rafgart
Nie, nie powinno miec wplywu, chyba ze na bardzo starej komorce.