Vorlage Diskussion:TrimFirstDouble

Aus Perrypedia
Wechseln zu: Navigation, Suche

Version 1.0

TrimFirstDouble verkürzt das erste doppelte Vorkommen eines Zeichens (aus »aa« wird z.B. »a«, aus »aaa« wird z.B. »aa«, siehe auch Beispiele weiter unten).
Die Vorlage nutzt Vorlage:IndexOfDouble und besitzt von daher gleich dieser Vorlage die Einschränkung, dass nur bis zu maximal 10 Vorkommen des Zeichens untersucht werden (was in der Praxis aber ausreichend sein dürfte)
Parameter:

  • 1. Parameter: Text der durchsucht werden soll.
  • 2. Parameter (optional): Zeichen, das gesucht werden soll. Falls keines angegeben wird, wird nach dem Leerzeichen gesucht.

Motivation für das Anlegen der Vorlage war ein Problem bei der Vorlage:SortKey: Durch das Entfernen von Sonderzeichen entstehen teilweise doppelte Leerzeichen. Die Vorhandene ParserFunction »replace« kann zwar auch Zeichen löschen, funktioniert aber nicht für die doppelten Leerzeichen.

Anmerkung: Falls in einer zukünftigen Version der Software die ParserFunction auch diesen Fall behandeln kann, ist zu überlegen, diese Vorlage hier wieder zu löschen bzw. zu einer reinen Hülle für die ParserFunction zu machen. Sollte man auch etwas von Performace-Messungen abhängig machen, aber es liegt nahe zu vermuten, dass eine ParserFunction performanter ist, als selbst geschriebene Vorlagen.

Beispiele:

Beispiel Ergebnis Erwartetes Ergebnis
{{TrimFirstDouble|abcdabcd}} abcdabcd abcdabcd (kein doppeltes Leerzeichen => keine Änderung)
{{TrimFirstDouble|ab cd ab cd}} ab cd ab cd ab cd ab cd (um den Unterschied zu sehen, muss man in den Quelltext der an den Browser ausgelieferten Seite schauen: das doppelte Leerzeichen zwischen »cd« und dem zweiten »ab« wurde gekürzt, wichtig für Sortierung)
{{TrimFirstDouble|ab cd ab cd| }} ab cd ab cd ab cd ab cd (um den Unterschied zu sehen, muss man in den Quelltext der an den Browser ausgelieferten Seite schauen: das doppelte Leerzeichen zwischen »cd« und dem zweiten »ab« wurde gekürzt, wichtig für Sortierung)
{{TrimFirstDouble|abcdaabaacd|a}} abcdabaacd abcdabaacd (erstes und nur erstes doppeltes a wird verkürzt)
{{TrimFirstDouble|abcdaaabaacd|a}} abcdaabaacd abcdaabaacd (erstes und nur erstes doppeltes a wird verkürzt, aus dem dreifachen a wird also ein doppeltes, möchte man das weiter kürzen, muss man TrimFirstDouble erneut aufrufen)
{{TrimFirstDouble|aabcdaaabaacd|a}} abcdaaabaacd abcdaaabaacd

Der Vollständigkeit halber: Eventuell für Leute interessant, die die Vorlage weiterentwicklen wollen: Die Erstellung erfolgte auf der Seite Benutzer:NAN/Vorlage TrimFirstDouble (Versionsgeschichte). Solange unser Test-Wiki noch nicht wieder zurückgesetzt bzw. mit dem Stand hier überschrieben wurde, kann man auch unter [1] die Entwicklung nachverfolgen, insbesondere, was bestimmte Entscheidungen bezüglich Bildung der Teil-Zeichenketten betrifft. --NAN (Diskussion|Beiträge) 11:37, 13. Mai 2012 (CEST)