• Home
  • Random
  • Nearby
  • Log in
  • Settings
Donate Now If Wikipedia is useful to you, please give today.
  • About Wikipedia
  • Disclaimers
Wikipedia

Template:a or an/sandbox

  • Template
  • Talk
  • Language
  • Watch
  • Edit
< Template:A or an
This is the template sandbox page for Template:A or an (diff).
See also the companion subpage for test cases.
Template documentation[view] [edit] [history] [purge]
WarningThis template is used on approximately 8,600 pages and changes may be widely noticed. Test changes in the template's /sandbox or /testcases subpages, or in your own user subpage. Consider discussing changes on the talk page before implementing them.
Shortcuts
  • {{a(n)Template:A(n)}}
  • {{a/nTemplate:A/n}}
This template uses Lua:
  • Module:a or an (sandbox)

This template determines whether the first word in the argument provided begins with a vowel or consonant and returns with it "a" or "an" depending on the assessment.

Contents

  • 1 Usage
    • 1.1 Words beginning with a vowel letter
    • 1.2 Words beginning with a consonant letter
    • 1.3 Abbreviations
    • 1.4 Numbers
    • 1.5 Ambiguous cases

Usage

edit

In general, it returns "an" if the first letter is a, e, i, o, or u, and "a" if any other:

  • "{{a or an|word}}" → "a word"
  • "{{a or an|elephant}}" → "an elephant"

To capitalize "a", wrap the template in {{ucfirst:...}}.

  • "{{ucfirst:{{a or an|word}}}}" → "A word"
  • "{{ucfirst:{{a or an|elephant}}}}" → "An elephant"

Words beginning with a vowel letter

edit

Words that begin with eu, ew, uni, etc., and others like one, once, and U are exceptions:

  • "{{a or an|European}}" → "a European"
  • "{{a or an|one-sided game}}" → "a one-sided game"
  • "{{a or an|U-turn}}" → "a U-turn"
  • "{{a or an|Ukrainian}}" → "a Ukrainian"
  • "{{a or an|university}}" → "a university"

Some exceptions are made to the above rule.

  • "{{a or an|Euler diagram}}" → "an Euler diagram"
  • "{{a or an|unimportant case}}" → "an unimportant case"

Words beginning with a consonant letter

edit

Words that begin with a consonant letter also have some exceptions:

  • "{{a or an|heir}}" → "an heir"
  • "{{a or an|hour}}" → "an hour"
  • "{{a or an|honor}}" → "an honor"
  • "{{a or an|honour}}" → "an honour"
  • "{{a or an|nth degree}}" → "an nth degree"
  • "{{a or an|x-ray image}}" → "an x-ray image"
  • "{{a or an|Xbox}}" → "an Xbox"
  • "{{a or an|ytterbium fiber}}" → "an ytterbium fiber"

Abbreviations

edit

Words in all caps are treated as initialisms. If an initialism begins with F, H, L, M, N, R, S, or X, it returns "an". If it begins with U, it returns "a". Thus:

  • "{{a or an|LED}}" → "an LED"
  • "{{a or an|led}}" → "a led"
  • "{{a or an|URL}}" → "a URL"
  • "{{a or an|url}}" → "an url"

Some notable acronyms are made exceptions.

  • "{{a or an|FIFA referee}}" → "a FIFA referee"
  • "{{a or an|NASA program}}" → "a NASA program"
  • "{{a or an|UNRWA ambulance}}" → "an UNRWA ambulance"

Numbers

edit

If the first word begins with 8, 11, or 18, it returns "an", unless it is read with "hundred", "thousand", etc. at the beginning.

  • "{{a or an|11}}" → "an 11"
  • "{{a or an|18th}}" → "an 18th"
  • "{{a or an|110}}" → "a 110"
  • "{{a or an|1800}}" → "an 1800" (assumes it's a year)
  • "{{a or an|1,800}}" → "a 1,800"
  • "{{a or an|180,000}}" → "a 180,000"
  • "{{a or an|180000}}" → "a 180000"
  • "{{a or an|18,000,000}}" → "an 18,000,000"
  • "{{a or an|18000000}}" → "an 18000000"

Currency signs at the beginning are ignored.

  • "{{a or an|£8}}" → "an £8"

Ambiguous cases

edit

If |variety=us is set, herb(s) and herbal are treated as starting with a vowel sound.

  • "{{a or an|herb}}" → "a herb"
  • "{{a or an|herb|variety=us}}" → "an herb"

Words before which people have not settled on whether to use "a" or "an" are generally not made exceptions, so the general rules apply.

  • "{{a or an|FAQ}}" → "an FAQ"
  • "{{a or an|upsilon}}" → "an upsilon"

If the first letter is a non-Latin character, it returns "a" by default.

  • "{{a or an|あ}}" → "a あ"

If the parameter is not entered, it returns an empty string.

  • "{{a or an}}" → ""
  • v
  • t
  • e
String-handling templates (help page)
Substring (select chunk of string by its position)
{{str sub new}} Select a substring based on starting and ending index counted in either direction.
{{str left}} Keep the first N characters of a string, or duplicate it to N characters.
{{str crop}} Return all but the last N characters of a string.
{{str index}} Return the N-th character of a string.
{{str right}} Return substring starting at N-th character to end of string.
{{str rightc}} Return the last N characters of a string; or a given value if empty.
{{str sub old}} Return substring of given length starting at N-th character.
Trimming (select/remove chunk of string by character type)
{{trim}} Trim any leading or trailing whitespace
{{str letter/trim}} Trim down to the beginning letters.
{{str number/trim}} Trim down to the beginning numbers.
{{trim brackets}} Trim any leading or trailing square brackets.
{{trim quotes}} Trim leading or trailing matching quotes.
{{trim leading}} Trim up to six instances of specified <prefix>.
{{string split}} Extract a short string from a long string.
{{first word}} Trim down to the first space.
{{remove first word}} Remove anything before the first space.
{{last word}} Trim down from the last space.
{{remove last word}} Remove anything after the last space.
Select/remove specific item from string
{{delink}}, {{trim brackets}} Removes wikilink brackets (wikicode); all or outer only.
{{Plain text}} Removes wikicode (formatting and brackets)
{{PAGENAMEBASE}} Trim off any parenthesis text at the end of a string (disambiguation).
{{title disambig text}} Returns text in parentheses at the end of a string (disambiguation).
{{title year}} Returns the 3-or-4-digit year from a pagename, if any.
{{title decade}} Returns the 4-digit decade from a pagename (e.g. "1740" from "Foo 1740s bar"), if any.
{{title number}} Returns any number from a pagename.
{{WikiProjectbasename}} Removes "WikiProject" from a pagename.
Insertion, replacement, and length
{{loop}} Repeat character string a specified number of times.
{{replace}} Returns the string, after replacing all occurrences of a specified string with another string.
{{str rep}} Returns the string, after replacing the first occurrence of a specified string with another string.
{{digits}} Returns the string, after removing all characters that are not digits 0–9
{{Nowiki}} Displays wikitext as plain text.
{{str len}} Returns a string's length.
{{str ≥ len}} Check if a string is "longer or equally long" or "shorter" than a given length.
{{str ≤ len}} Check if a string is "shorter or equally long" or "longer" than a given length.
{{str ≠ len}} Check if a string is "not equal" or "equal" to a given length.
Analysis and searching
{{str startswith}}
{{str endswith}}
Check if a string starts or ends with a given string.
{{str find}}, {{strfind short}} Returns the numerical ___location of a given string in a string.
{{str count}} Count the number of occurrences of a pattern within a string.
{{Array}} Array item manipulation and retrieval.
{{a or an}} Takes a noun and produces the appropriate indefinite article, based on whether the first letter is a vowel.
{{in string}} Returns optional string when given string is not found
{{Isnumeric}} Returns number when true, blank when not numeric.
{{str letter}} Returns the number of letters that begin a string.
{{str number}} Returns the number of numbers that begin a string.
Modules and built-in functions
  • Module:String, Module:String2, Module:Ustring, Module:Text, wikitext handling: modules that together contain most necessary string functions.
  • Magic words: About {{padleft:|}}, {{lc:|}}, {{formatnum:|}} etc.
  • ParserFunctions: About {{#titleparts:|}}, {{#expr:|}}, {{#ifeq:|}}, etc.
  • Category:String manipulation templates
    • Commons
    • MediaWiki
    • Meta-Wiki
    • Wikidata
  • Category:Modules that manipulate strings
  • The above documentation is transcluded from Template:A or an/doc. (edit | history)
    Editors can experiment in this template's sandbox (edit | diff) and testcases (edit) pages.
    Add categories to the /doc subpage. Subpages of this template.
    Retrieved from "https://en.wikipedia.org/w/index.php?title=Template:A_or_an/sandbox&oldid=1027604281"
    Last edited on 8 June 2021, at 22:11

    Languages

        This page is not available in other languages.

        Wikipedia
        • Wikimedia Foundation
        • Powered by MediaWiki
        • This page was last edited on 8 June 2021, at 22:11 (UTC).
        • Content is available under CC BY-SA 4.0 unless otherwise noted.
        • Privacy policy
        • About Wikipedia
        • Disclaimers
        • Contact Wikipedia
        • Code of Conduct
        • Developers
        • Statistics
        • Cookie statement
        • Terms of Use
        • Desktop