StringUtil Script

From the CreationKit Wiki
Revision as of 18:41, 21 April 2025 by BellCube (talk | contribs) (Add the case insensitivity comment found at the top of the script)
Jump to navigation Jump to search


Collection of generic string utility global functions. (These global functions require SKSE)

A comment found at the top of this script, still present as of SKSE64 version 2.2.6, reads:

Note about the internal Skyrim implementation of the string classes used for scripting:

The strings are case-insensitive. Each BSFixedString is managed in a cache and reused everywhere it is needed.  This means that strings like "O" and "o" are technically equivalent. Which string is used depends greatly on which version is found first. We are investigating how to manage this, but for the time being be aware that the distinction between uppercase and lowercase may not exist. It also means that functions below returning an integer for the character may not correspond exactly. Also GetNthChar("Hello Skyrim!", 4) will return a string with either "O" or "o" depending on which might be registered first. All my tests so far have it return the uppercase, even though in the string it is lowercase. We may solve this problem by switching back to returning an integer rather than a string for GetNthChar, but this will still have problems.

Definition

ScriptName StringUtil

Properties

None

SKSE Global Functions

Int GetLength(String str)
  • Returns the length of the string.
String GetNthChar(String str, Int n)
  • Returns the character at n in str as a string.
Bool IsLetter(String c)
  • Returns whether the character is a letter or not.
Bool IsDigit(String c)
  • Returns whether the character is a digit or not.
Bool IsPunctuation(String c)
  • Returns whether the character is punctuation or not.
Bool IsPrintable(String c)
  • Returns whether the character is printable or not.
Int Find(String str, String toFind, Int startIndex)
  • Returns the index of the first occurence of specified phrase inside the string, starting at given position.
String Substring(String str, Int startIndex, Int len)
  • Returns a portion of the string starting at given index with specified amount of characters.
Int AsOrd(String c)
  • Returns the decimal value of a character.
String AsChar(Int c)
  • Returns the decimal as a string character.
String[] Split(String s, String delim)
  • Returns array of strings separated by the specified delimiter.

Member Functions

None

Events

None