![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 7.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
mój problem polega na tym, że mam łańcuch znaków "r##s##", gdzie ## to liczby i chciałem wydobyć z niego te liczby do zmiennych i kod wygląda tak: Kod var buf0Str = "r1s1"; var buf1Str = ""; var z1,z2; for (k=1; k< buf0Str.length; k++){ if (buf0Str.charAt(k)!='s') buf1Str += buf0Str.charAt(k); else break; } z1 = buf1Str; buf1Str = ""; for (k++; k< buf0Str.length; k++){ buf1Str += buf0Str.charAt(k); } z2 = buf1Str; i to wszystko działa ok, dopóki w stringu (bo tak naprawdę do buf0Str pobieram sobie wartość z checkboxa, ktory jest w xml'u i jest kodowany jako utf-8) przekazuje wartość. długość "r1s1" jest równe 9 i się sypie skrypt, w jaki sposób można przekonwertować utf-8 na normalny sting gdzie jego długosc odpowiadalaby jego faktycznej dlugosci i normalnie mi pobieral znaki z stringa? |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 386 Pomógł: 25 Dołączył: 28.09.2005 Ostrzeżenie: (0%) ![]() ![]() |
No cóż sprawdziłem na necie przykładoy skrypt który liczy ilość znaków w stringu i wygląda na to że js dobrze liczy stringi utf-8. Zobacz sam: http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_length_string
Myślę że problem jest w pętli: Kod var buf0Str = "r1s1"; var buf1Str = ""; var z1,z2; for (k=0; k < buf0Str.length; k++){ if (buf0Str.charAt(k)!='s') buf1Str += buf0Str.charAt(k); else break; } z1 = buf1Str; buf1Str = ""; k++; for (k; k < buf0Str.length; k++){ buf1Str += buf0Str.charAt(k); } z2 = buf1Str; Sproboj teraz. Nie dam głowy że zadziała ale przynajmniej będzie brał pod uwage pierwsze znaki stringa. Ten post edytował piotrekkr 19.05.2008, 19:47:49 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 03:11 |