Template:Str index any/doc

From 'City of Adelaide' History and Genealogy Site
Jump to navigation Jump to search

{{#invoke:Message box|mbox}} The Template:str_index_any extracts a specified nth character from a string, even allowing for accented letters or diacritics to be included in the string. The string can be any length, but position n (parameter 2) is limited to 500 at most.

Usage

{{str index any|text|n}} = Returns the n-th character of text.

Supports a larger character set, allowing the text to have accented letters or other diacritical marks. Returns an error message for unknown characters. Returns   for a blank space, which can be converted to a simple space by xspace.

Examples

The last example shows extraction of letter "b" with string length as 1. The prior example extracts a blank but considers the length as 5 for the 5 characters " " even though there is only 1 space, and hence, {{str len| }} → {{safesubst:#invoke:String|len|s= }}. If surrounded by 2 other characters, then the length might be totalled incorrectly as 7 (rather than 3 characters):

  • {{ Str len |<{{ Str index any |a b|2}}>}} → {{safesubst:#invoke:String|len|s=<Template:Str index any>}}
  • {{ Str len |X{{ Str index any |a b|2}}X}} → {{safesubst:#invoke:String|len|s=XTemplate:Str index anyX}}
  • {{ Str len |X{{ Str index |a b|2}}X}} → {{safesubst:#invoke:String|len|s=X{{safesubst:#Invoke:String | pos | target=a b | pos=2 | no_category= }}X}}
  • X{{ Str index any |a b|2}}X → XTemplate:Str index anyX

The same string-length problem occurs when using template {{ Str index }}. There might be other quirks as well, but most cases work as expected.

See also

{{#invoke:Navbox|navbox}}