Zdravím, dnes jsem se pohrával s následujícím úkolem: Mám vstupní řetězec, obsahující v sobě různé významové skupiny znaků (promenna VstupniRetezec). Tyto skupiny jsou popsány v druhém řetězci VstupniMaska pomocí velkých písmen. Potřebuji do další proměnné VystupniRetezec přeskládat odpovídající skupiny znaků z proměnné VstupniRetezec, ale dle jiné masky, kterou mám v proměnné VystupniMaska. Takže raději snad příklad: VstupniMaska: "AAAAAABBDDDCC" VstupniRetezec: " 123456789045" VystupniMaska: "BBBXXCCDDAAAAAA" VystupniRetezec: " 67 4590 12345" Masky ani skupiny v obou maskách nemusejí být stejně dlouhé, při skládání skupin se musí postupovat vždy odzadu. Když je ve výstupní masce na danou skupinu více pozic než ve vstupní, doplní se skupina ve VystupniRetezec zleva mezerami, když je naopak ve výstupní masce pro danou skupinu méně pozic než ve vstupní, vyplní se zprava jen do počtu pozic vymezených výstupní maskou a zbylé znaky se zahodí. Trochu jsem se zamotal ve vnořených cyklech a najednou koukám na nový článek o regulárních výrazech. Nešlo by to pomocí nich nějak elegantněji? Zkuste někdo poradit. Díky moc.
|