Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 7 odgovora
  • 4.228 pregleda

Najnovija ↓

Parsiranje stringa i smjestanje u ArrayList C# 05.03.2009. u 20:42 · pre 215 meseci #1
Treba mi metoda koja ce kao ulazni argument dobiti string i taj string parsirati i slagati u objekt klase ArrayList. Taj string ce biti u ovakvom formatu:

Code:

[69b2]21 3466     1545 2 2323   ad     [1f35]242 3634 37 4   d      4[63 37 37347 347   23[9636]134 3463 3 43478 457 7 3    346 ...


delimiteri za parsiranje bi trebali biti [xxxx] (kockaste zagrade sa cetiri karaktera u njima), a rezultat u ArrajList-i

Code:

21 3466     1545 2 2323   ad     
242 3634 37 4   d      4[63 37 37347 347   23
134 3463 3 43478 457 7 3    346


Ovo mogu izvesti vrteci kroz petlju i provjeravati gdje se nalaze djelovi stringa sa sagradama i tu sjeci, ali vjerujem da postoji nekakav elegantniji nacin.
Potpis
SELECT * FROM หน่วยงานหลัก WHERE ยสันติ LIKE 'โดย%'
Re: Parsiranje stringa i smjestanje u ArrayList C# 05.03.2009. u 21:55 · pre 215 meseci #2
Pokusao sam nesto ovako preko regular expr.:
Code:

        string values = "[69b2]21 3466     1545 2 2323   ad     [1f35]242 3634 37 4   d      4[63 37 37347 347   23[9636]134 3463 3 43478 457 7 3    346";

        string pattern = "[????]";
        Regex r = new Regex(pattern);
            
        string[] sites = r.Split(values);
        foreach (string s in sites)
        {
            Debug.WriteLine(s);

        }

ali kako da mu kazem da je pattern string sa 6 karaktera i sa prvom otvorenom i zadnjim zatvorenom zagradom, dok su ovi izmedju nebitni.
Potpis
SELECT * FROM หน่วยงานหลัก WHERE ยสันติ LIKE 'โดย%'
Re: Parsiranje stringa i smjestanje u ArrayList C# 06.03.2009. u 08:12 · pre 215 meseci #4
Moze li da ulozim jokera pa da mi kazes dve-tri rijeci. :)
Nisam skont'o gdje ovo da stavim.
Potpis
SELECT * FROM หน่วยงานหลัก WHERE ยสันติ LIKE 'โดย%'
Re: Parsiranje stringa i smjestanje u ArrayList C# 06.03.2009. u 10:18 · pre 215 meseci #5
Sorry

Tražio si samo pattern string pa sam samo to i napisao :)

"[" u regex-u ima posebno značnenje tako da ukoliko žeiš da tražiš taj karakter moraš ispred njega da staviš "escape" karakter tj "\"
\w je bilo koji alfanumerički karakter
{6} ozačava koliko ponavljanja treba da ima predhodni karakter/grupa ili šta se već (u ovom slučaju treba ti 6 alfanumeričkih karaktera)

Code:

        string values = "[69b2]21 3466     1545 2 2323   ad     [1f35]242 3634 37 4   d      4[63 37 37347 347   23[9636]134 3463 3 43478 457 7 3    346";

        string pattern = "\[\w{6}\]";
        Regex r = new Regex(pattern);
            
        string[] sites = r.Split(values);
        foreach (string s in sites)
        {
            Debug.WriteLine(s);

        }


Pogledaj ovo http://www.ultrapico.com/Expresso.htm. Odličan program za kreiranje regex patern-a
Potpis
Naučio sam...
Da je važnije biti ljubazan nego biti u pravu
Re: Parsiranje stringa i smjestanje u ArrayList C# 06.03.2009. u 10:34 · pre 215 meseci #6
Prijavljuje mi gresku na ovoj liniji:

Code:
string pattern = "\[\w{6}\]";


tacnije podvuce mi i otvorenu zagradu, zatvorenu zagradu i w zbog greske 'Unrecognized escape sequence'.
Potpis
SELECT * FROM หน่วยงานหลัก WHERE ยสันติ LIKE 'โดย%'
Re: Parsiranje stringa i smjestanje u ArrayList C# 06.03.2009. u 11:22 · pre 215 meseci #8
E to ce biti rjesenje. Probavao sam ja i sa duplim kosim, ali nisam stavio cetvorku, nego sam se drzao sestice, a kad malo skontam pa unutra su cetiri karaktera.
Hvala i pozdrav
Potpis
SELECT * FROM หน่วยงานหลัก WHERE ยสันติ LIKE 'โดย%'
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme