Arma 3 Scripting

splitString

  • Arma 3 v1.50

Command · Markdown · JSON · original wiki page

Description

Splits the provided ANSI string into an array of tokens according to given delimiters.

Note

For Unicode support, see forceUnicode.

Syntax

str splitString delimiters

Parameters:

Returns: Array of Strings

Examples

Example 1

_str = "- This, is a sample string." splitString "-,. "; // ["This","is","a","sample","string"]
_str joinString "#"; // "This#is#a#sample#string"

Example 2

"\A3\ui_f\data\map\vehicleicons\iconLogic_ca.paa" splitString "\."; // ["A3","ui_f","data","map","vehicleicons","iconLogic_ca","paa"]

Example 3

"1:2:3" splitString ":"; // ["1","2","3"]

Example 4

"Japa is the best!" splitString "" joinString " "; // "J a p a   i s   t h e   b e s t !"

Example 5

_cmd = currentMagazineDetail player; // "9mm 16Rnd Mag(13/16)[id/cr:10000011/0]"
_cmd splitString "([ ]/:)"; // ["9mm","16Rnd","Mag","13","16","id","cr","10000011","0"]

Example 6

Remove all \r\n from file:

loadFile "somefile.txt" splitString toString [13,10] joinString " ";

See also

joinString · set · resize · reverse · select · in · find · toArray · forEach · count · deleteAt · deleteRange · append · sort · param · params · arrayIntersect · toString · endl · forceUnicode

Community notes

BaerMitUmlaut

This command is unreliable/broken when it comes to some non-ASCII characters (as of Arma 3 v1.58):

"Mörser" splitString "" // -> ["M"," "," ","r","s","e","r"]
"Mörser" splitString "ö" // -> ["M","rser"]
"Mörser" splitString "ä" // -> ["M"," rser"]

Killzone_Kid

This commands works only with ASCII chars, any chars with codes > 127, also used in different languages, will be converted to [" ", " "]. Use toArray to preserve special characters:

_spaced = toArray "Mörser" apply {toString [_x]} joinString " "; // M ö r s e r

R3vo

When working with string which contain linebreaks...

"stringWith" + endl + "Linebreak" splitString ",; ";
/*
result is ["someStringWith
Linebreak"]
*/

...one can remove those by adding endl as delimiter

"stringWith" + endl + "Linebreak" splitString ",; " + endl; // result is ["someStringWith","Linebreak"]