# Strings (scripting commands)

- [+](../../commands/~2B.md): Add two Numbers, concatenate two Arrays or two Strings, or create a copy of an Array or HashMap.
- [comment](../../commands/comment.md): Defines a comment. See SQF Syntax#Comments to learn more about comments.
- [compile](../../commands/compile.md): Compiles String expression into Code.
- [compileFinal](../../commands/compileFinal.md): Compiles an expression / takes an existing HashMap and makes it final, preventing it from being modified or overwritten (by = assignation, publicVariable, set or any other command).
- [composeText](../../commands/composeText.md): Creates a Structured Text by joining the given structured or plain text arguments.
- [copyFromClipboard](../../commands/copyFromClipboard.md): Return ANSI content of the (text) clipboard. If Unicode support is desired, see forceUnicode.
- [copyToClipboard](../../commands/copyToClipboard.md): Copies ANSI text string to the clipboard. If Unicode support is desired, see forceUnicode.
- [count](../../commands/count.md): Can be used to count: - The number of elements in an array (returns the already internally known array size) - The number of elements in an array matching the condition - The number of sub-entries in a config entry -…
- [diag_localized](../../commands/diag_localized.md): Returns array with all localized keys from the given stringtable or the array of all stringtables names if empty string `""` is given. Common stringtables are: `"Global"`, `"Mission"`, `"Campaign"`.
- [endl](../../commands/endl.md): Creates a string containing a line break, similar to lineBreak for text. The name is inspired by c++ std::endl (end line). The command returns `"\r\n"`, which contains control characters rather than printable characters:
- [find](../../commands/find.md): Searches for an array element within an array or an ANSI string within an ANSI string.
- [forceUnicode](../../commands/forceUnicode.md): List of the commands that work with forceUnicode - copyFromClipboard - copyToClipboard - count - find - in - insert - reverse - select - splitString - trim - regexFind - regexMatch - regexReplace
- [format](../../commands/format.md): Composes a string containing other variables or other variable types. Converts any variable type to a string.
- [formatText](../../commands/formatText.md): Creates a Structured Text similar to format command.
- [fromJSON](../../commands/fromJSON.md): Obtain the game value from the provided JSON-formatted string.
- [getTextWidth](../../commands/getTextWidth.md): Returns estimated width of the text based on font type and size. Similar to ctrlTextWidth but does not require a control and can be used to estimate text width for any control including buttons.
- [hint](../../commands/hint.md): Outputs a hint message to the right of the screen (left of the screen in Operation Flashpoint) with a sound (except in Armed Assault).
- [hintC](../../commands/hintC.md): Displays a very basic message dialog in the center of the screen. Player control is taken away until "Continue" is pressed. The message dialog can be dragged around on the screen.
- [hintSilent](../../commands/hintSilent.md): Same as hint, but without a sound.
- [image](../../commands/image.md): Creates a structured text containing the given image. Use setAttributes to set additional attributes on the image.
- [in](../../commands/in.md): Checks whether value is in array, unit is in vehicle, position is inside location or ANSI string is part of other ANSI string. If Unicode support is desired, see forceUnicode.
- [insert](../../commands/insert.md): Inserts multiple values into Array/String/HashMap.
- [isLocalized](../../commands/isLocalized.md): Checks whether given *stringName* is localized.
- [joinString](../../commands/joinString.md): Joins *array* into String with provided *separator*. Array can be of mixed types, all elements will be converted to String prior to joining, but the fastest operation is on the array of Strings.
- [lineBreak](../../commands/lineBreak.md): Creates a structured text containing a line break.
- [localize](../../commands/localize.md): Used to internationalise text messages. The provided translation key is looked up in Stringtable.xml (or Stringtable.csv).
- [parseNumber](../../commands/parseNumber.md): Parses the string, interpreting its content as a floating point number.
- [parseSimpleArray](../../commands/parseSimpleArray.md): Converts given, formatted as simple array, String into a valid Array. Simple array is array consisting of Numbers, Strings, Booleans and Arrays of all of the above.
- [parseText](../../commands/parseText.md): Creates a structured text by parsing the given XML description. Do not use parseText when displaying a localized text from Stringtable.xml.
- [select](../../commands/select.md): Selects an element from an array, config entry from Config or substring from a string or a range from an array.
- [setAttributes](../../commands/setAttributes.md): Returns a Structured Text created from the given structured text and sets attributes to the given values.
- [splitString](../../commands/splitString.md): Splits the provided ANSI string into an array of tokens according to given delimiters.
- [str](../../commands/str.md): Converts any value into a string, depending on its type. If an Object has a vehicleVarName, it is returned (see #Example 4).
- [text](../../commands/text.md): Creates a structured text containing the given plain text if argument is String. Use setAttributes to set additional attributes on the text. If the argument is location, returns location's text value (see Alt Syntax).
- [toArray](../../commands/toArray.md): Converts the supplied String into an Array of Numbers. The numbers in the created array are the decimal Unicode representations of characters.
- [toFixed](../../commands/toFixed.md): Converts a number into a string, keeping the specified number of decimals. If the desired number of decimals is higher than the actual number, nulls are added to create the desired decimal length.
- [toJSON](../../commands/toJSON.md): Converts data to JSON.
- [toLower](../../commands/toLower.md): Converts the supplied Unicode string to all lowercase characters. If the string doesn't have characters with codes > 255, use toLowerANSI.
- [toLowerANSI](../../commands/toLowerANSI.md): Converts the supplied string to all lower case characters fast (could be 3× faster than toLower). ANSI in this case refers to ISO-8859-1 code page.
- [toString](../../commands/toString.md): Converts the supplied Array of Numbers into a String through <https://en.wikipedia.org/wiki/Unicode> characters representation conversion, or provided Code to compilable String.
- [toUpper](../../commands/toUpper.md): Converts the supplied Unicode string to all uppercase characters. If the string doesn't have characters with codes > 255, use toUpperANSI.
- [toUpperANSI](../../commands/toUpperANSI.md): Converts the supplied string to all upper case characters fast (could be 3x faster than toUpper). ANSI in this case refers to ISO-8859-1 code page.
- [trim](../../commands/trim.md): Trims a string.
