Jump to content

Template:Str index any/doc

From Wikibooks, open books for an open world

The Template:str_index_any extracts a specified nth character from a string, even allowing for accented letters to be included in the string.

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

Supports a larger character set, allowing the text to have accented letters. Returns an error message for unknown characters. Returns   for a blank space.

Examples

[edit source]
  • {{Str index any|0123456789ABCDEF|15}} → E
  • {{Str index any|ÁBĆĎÉf-ABCDEF|4}} → Ď
  • {{ Str len |{{ Str index any |a b|1}}}} → 1
  • {{ Str len |{{ Str index any |a b|2}}}} → 5
  • {{ Str len |{{ Str index any |a b|3}}}} → 1

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| }} → 5. 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}}>}} → 7
  • {{ Str len |X{{ Str index any |a b|2}}X}} → 7
  • {{ Str len |X{{ Str index |a b|2}}X}} → 7
  • X{{ Str index any |a b|2}}X → X X

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

[edit source]

Trimming templates:

  • {{Str left}} – To trim down to a specified number of characters, or duplicate the string to a specified number.
  • {{Str trim}} — To trim any leading or trailing whitespace.
  • {{Str right}} — To trim the first specified number of characters.
  • {{Str rightc}} — To trim the first specified number of characters, returns a parameter if the string is empty.
  • {{Str sub}} — To trim down to a specified number, starting at a given number from the left, less than 50.
  • {{Str sub long}} — To trim down to a specified number, starting at a given number from the left, less than 100.

Analyzing templates:

  • {{Str find}} – Returns the numerical location of a given string in a string, up to 50 characters.
  • {{Str index}} – Returns a given character from a string, but not accented letters.
  • {{Str index any}} – Returns a given character from a string, but not a space.
  • {{Str len}} – Returns a string's length. Can count up to 500 characters.

String length comparison templates:

  • {{Str ≥ len}} – To check if a string is "longer or equally long" or "shorter" than a given length.
  • {{Str ≤ len}} – To check if a string is "shorter or equally long" or "longer" than a given length.
  • {{Str ≠ len}} – To check if a string is "not equal" or "equal" to a given length.
  • {{Str ≤ ≥ len}} – To check if a string is "shorter", "equal", or "longer" than a given length.