2023-03-01 23:29, Laimis rašė: > Grzegorz Brzęczyszczykiewicz rašė: > >> c) if (!B), kaip būtu galima efektyviai išparsinti žemiau padėtus duomenis? >> Key ir pavadinimas nesutampa, t.y. "Postal / Zip Code" eina į "plz"; >> Pavadinime yra tarpų, tai į leksemas nesugalvoju kaip pasmulkinti. > > Pasitikslinu, nes klausimas, matomai sprendžiant pornografinę problemą, > užduotas jos tonu (t.y. gana pornografiškai...) ;-) taigi SEP - Someone Else's Problem :) > Kas iš pateiktų duomenų (kurie gaunami paštu iš kažkokių web formų) yra > *apibrėžto* formato? Kokie laukai/pavadinimai yra būtinieji sąskaita > suformuoti ar whaterver , kas paskui vyskta su duomenimis), o kurie > (telefonai beigi faksai, etc) – ne. Nes jei yra kiek labiau apibrėžtas > formatas, kad ir su variacijomis, tarpais tai regexp'as tokį reikalą > gana nesunkiai išsprendžia. Dvitaškis ir tarpas skiria semi-'human readable" lauko pavadinimą nuo jo reikšmės. Jei išsaugočiau eilutės lūžius, kerpu per ": " ir problema išspręsta. O dar geriau būtų neišradinėti triračio ir paimti patikrintą sistemą. Privalomos reikšmės - "Anmeldungstyp", "First name", "Last name", "Street / Address", "Postal / Zip Code", "City", "Country". Jų buvimą kontroliuoja įvedimo forma. Datos, kainos parenkamos pagal "Anmeldungstyp". Pagal rodytą pavyzdį iškapojau duomenis ir padariau sąskaitą, žr. prisegtuke. Galima tikėtis jog duomenų eiliškumas ateityje nesikeis. Duomenys gali ateiti 2 formatais: "ilguoju", kurį rodžiau, ir "trumpuoju", kuriame nėra atskirų mokėtojo duomenų. Abiem atvejais pastabų laukas neprivalomas. ----- BEGIN DATA------ Anmeldungstyp: Standard Rate Company / Institution: Alytus University of Applied Sciences Prefix: Mr. First name: Jon Last name: Doe Dasen Profession: Associate Professor Street / Address: Polaidžio -2 Postal / Zip Code: AL-556666 City: Varėna Country: Lenkija VAT: LIA10005555513 Telefon: +31040304556999 E-Mail: jon.doedasen@gmail.comoje ----- END DATA------ -- Grzegorz Chrząszczyrzewoszyce, powiat Łękołody
