Vorlage:Force last punctuation: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
(+example: Text had no dot or other punctuation) |
|||
Zeile 9: | Zeile 9: | ||
-->{{#vardefine: this_text_last_character|{{#sub: {{#var: this_text}}|-1|1}}<!-- -->}}<!-- | -->{{#vardefine: this_text_last_character|{{#sub: {{#var: this_text}}|-1|1}}<!-- -->}}<!-- | ||
− | -->{{#vardefine: this_text_with_forced_character|{{#if:{{#pos: .;:?!{{#var: punctuation}}|{{#var: this_text_last_character}} }}<!-- | + | -->{{#vardefine: this_text_with_forced_character|<!-- |
+ | -->{{#if:{{#pos: .;:?!{{#var: punctuation}}|{{#var: this_text_last_character}} }}<!-- | ||
then | then | ||
+ | -->|{{#sub: {{#var: this_text}}|0|-1}}<!-- | ||
-->|{{#var: this_text}}<!-- | -->|{{#var: this_text}}<!-- | ||
− | + | -->}}<!-- if | |
− | |||
fix Wiki definition list (;) or indented text (:) | fix Wiki definition list (;) or indented text (:) | ||
− | -->{{#ifeq: | + | -->{{#ifeq: :|{{#var: punctuation}}<!-- |
+ | then | ||
+ | -->|<nowiki>:</nowiki><!-- | ||
+ | else | ||
+ | -->|{{#ifeq: ;|{{#var: punctuation}}<!-- | ||
then | then | ||
− | -->|<nowiki> | + | -->|<nowiki>;</nowiki><!-- |
else | else | ||
− | + | -->|{{#var: punctuation}}<!-- | |
− | |||
− | |||
− | |||
− | |||
− | |||
-->}}<!-- ifeq | -->}}<!-- ifeq | ||
− | -->}}<!-- | + | -->}}<!-- ifeq |
-->}}<!-- | -->}}<!-- | ||
Version vom 17. April 2020, 12:30 Uhr
This template checks for the last punctuation character and removes it if there should be comma (,) colon (:) semicolon (;) exclamation mark (!) question mark (?) or a dot (.). So it forces to be there one of these characters. But it can also remove the last character. Examples:
Code | Result |
---|---|
{{Force last punctuation| : |Text had a dot.}} |
Text had a dot: |
{{Force last punctuation| : |Text had no dot or other punctuation}} |
Text had no dot or other punctuation: |
{{Force last punctuation| . |Text and question mark remains? | allow = ?! }} |
Text and question mark remains? |
{{Force last punctuation| delete |Text had a question mark? }} |
Text had a question mark |
{{Force last punctuation| delete |Text had no final .;:!? or so … }} |
Text had no final .;:!? or so … |
There exist also the template: remove last punctuation, which is just a wrapper to {{force last punctuation | delete |Text had a question mark?}}
.
Dependencies