mojaSymfonia FORUM https://forum.mix-soft.pl/ |
|
Wyszukanie ukośnika https://forum.mix-soft.pl/viewtopic.php?f=15&t=3057 |
Strona 1 z 1 |
Autor: | zz [ 2011-04-15, 10:18 ] |
Tytuł: | Wyszukanie ukośnika |
Witam. Chcę wyszukać ukośnik "/" w stringu. Jak to zrobić? Próbowałem "/" i "\/" (jako znak specjalny) i ...nic :( |
Autor: | Misiek [ 2011-04-15, 11:36 ] |
Tytuł: | |
może tak ? Kod: buf = "FSV 128\MAG/2011" if find "\/" then message "znalazłem znak /\n:-)" error "" |
Autor: | zz [ 2011-04-15, 15:32 ] |
Tytuł: | |
Nawet gdyby zadziałało, to za mało ;) Potrzebuję numer pozycji, na której występuje w ciągu. |
Autor: | Misiek [ 2011-04-15, 15:35 ] |
Tytuł: | |
zz pisze: Nawet gdyby zadziałało, to za mało ;) A nie działa ? zz pisze: Potrzebuję numer pozycji, na której występuje w ciągu. O tym nie pisałeś więc... tak na szybko, może mało optymalnym kodem ale działa... Kod: buf = "FSV 128\MAG/2011" string txt if Find Regular "*//" then txt = Delete Regular "*//" message using "znalazłem znak / na pozycji %d\n:-)", Len(txt) + 1 endif error "" |
Autor: | zz [ 2011-04-15, 15:49 ] |
Tytuł: | |
Działa. Ale co ja mam źle? Kod: buf = "abc/123" int i, iDlDw=len(buf) string sZnak for i=1 to i>iDlDw sZnak=mid(buf,i,1) if sZnak="\/" then message using "%i", i endif next i |
Autor: | wrob [ 2011-04-15, 15:57 ] |
Tytuł: | |
A jesli uzyc takiego strasznego pojecia jak rekurencja? cos w stylu (vba): Kod: function pozycja(tekst,szukany,od) if (mid(tekst,od,1))=szukany then msgbox od else pozycja(tekst,szukany,od+1) end if end function PS to masz zle -> Kod: if sZnak="\/" then lepiej tak: Kod: if sZnak=="/" then i nie uzywaj zmiennej buf - to nazwa specjalna |
Autor: | Misiek [ 2011-04-15, 16:21 ] |
Tytuł: | |
Jeszcze jedna wersja - bez buf'a Kod: string txt = "FSV 128\MAG/2011" int i for i = 1 to i > Size(txt) if txt(i) == 47 then // 47 = kod ASCI znaku message using "znalazłem znak / na pozycji %d\n:-)", i + 1 Exit endif next i error "" |
Autor: | zz [ 2011-04-18, 07:58 ] |
Tytuł: | |
Właśnie o taką funkcję (odpowiednik CHR-a z VB) mi chodziło - w helpie jej nie znalazłem. Ponieważ nie mogę postawić dwóch punktów, 'zarabia' Misiek (jako pierwszy odpowiadający). |
Strona 1 z 1 | Strefa czasowa UTC+1godz. [letni] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |