Hirdetés

Új hozzászólás Aktív témák

  • bpx

    őstag

    válasz Vasinger! #1551 üzenetére

    static void Main(string[] args)
    {
    int i;
    string s = "K ov ác s Kálmán, 9999 Budapest, Rigó út 41.";

    // a bemenet három részre bontható, melyeket a ", " karaktersorozat (1 vessző és 1 space) határol
    string[] ss = s.Split(new string[] { ", " }, StringSplitOptions.None);

    // első rész: vezetéknév + keresztnév
    // feltesszük hogy a keresztnév egyben van, tehát az utolsó space után jön, így azt kell keresni
    i = ss[0].LastIndexOf(' ');
    // vezetéknév, space-eket kicseréli üres stringre, nagybetűs
    Console.WriteLine(ss[0].Substring(0, i).Replace(" ", "").ToUpper());
    // keresztnév, nagybetűs
    Console.WriteLine(ss[0].Substring(i + 1).ToUpper());

    // középső rész: irányítószám város (közöttük szóköz)
    string[] cim1 = ss[1].Split(' ');
    Console.WriteLine("{0} {1}", cim1[0], cim1[1]);

    // utolsó rész, három részből áll: név típus házszám.
    // felbontható három részre, a középső rész figyelmen kívül hagyható, helyette UTCA írható
    string[] cim2 = ss[2].Split(' ');
    Console.WriteLine("{0} UTCA {1}", cim2[0].ToUpper(), cim2[2]);
    }

    mivel nincs valami pontosan specifikálva a feladat, a minimumra törekedtem, csak azt csináltam meg, amit említettél, és csak olyan bemenetre működik, amit példaként írtál (space lehet a vezetéknévben)
    minimális változás a bemeneten, és már nem is működik, legyen vele valami dolgod neked is :P
    (gondolok itt ilyenre pl. hogy vessző után nincs space, vagy az utca neve több tagból áll, pl. Petőfi Sándor utca 1.)

Új hozzászólás Aktív témák