Tema de Usuari Discussió:Ssola/Flow

És possible altra fórmula ?

6
Resum per Amadalvarez

Resolt fent servir Mòdul:StringFunc

Amadalvarez (discussiócontribucions)

Hola. He creat {{Protecció patrimonial wd/separa}} per a recuperar una part d'un string (subcadena) situat entre salts de línia <br/>. El codi, fent servir mòdul:String, m'ha quedat immensament complex. És més, només he estat capaç de fer-ho per a un màxim de 3 subcadenes dins la cadena original.

La pregunta/repte és: saps com fer-ho més fàcil, curt i econòmic ?.

Penso que veient les instruccions, ja et quedarà clar de que va, però si tens dubtes, em demanes.

Merci,

Ssola (discussiócontribucions)

He copiat Mòdul:StringFunc de enwiki, i després de canviar la funció split que no anava bé, ara pots fer:

  • {{#invoke:StringFunc|split|Això<br/>és<br/>una<br/>prova|<br/>|4}}prova

Si es vol agafar també els <br>,<br >, <br />, s'hauria de concatenar aquesta funció amb un {{#invoke:String|replace|...}} que els posés tots a <br/>, perquè fer que {{#invoke:StringFunc|split|...}} accepti expressions regulars de Lua com a separadors em costaria una mica més de fer.

Amadalvarez (discussiócontribucions)

En aquest cas no cal que entengui sinònims de br, ja que analitzo un string de recuperació de Wikidata on els separadors li poso jo.

Entenc que en tots els casos erronis (font buida, repetició inexistent, no trobar cap separador,...) retorna null, oi?

Moltes gràcies per la feina i pels elogis.

Ssola (discussiócontribucions)

En els casos erronis retorna la string buida "". Si no troba cap separador, retorna tota la string si li demanes ordre 1 i retorna "" altrament. Però bé, aquest comportament es pot canviar si fa falta.

Amadalvarez (discussiócontribucions)

és el que comptava. Merci,

Ssola (discussiócontribucions)

Per cert, el que vas fer tu em sembla una obra d'enginyeria que em fa por mirar xD

Et veig creant mòduls aviat. Fer-los servir és més còmode i flexible que el llenguatge wiki.