splitString

From Bohemia Interactive Community
Revision as of 19:42, 3 September 2024 by Lou Montana (talk | contribs) (Text replacement - "<sqf>([^↵][^<]*↵[^<]*)<\/sqf>" to "<sqf> $1 </sqf>")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
Hover & click on the images for description

Description

Description:
Splits the provided ANSI string into an array of tokens according to given delimiters.
For Unicode support, see forceUnicode.
Groups:
Strings

Syntax

Syntax:
str splitString delimiters
Parameters:
str: String - the string to split
delimiters: String - one or more characters, each used as a separate delimiter; if empty, str is split by each character
Return Value:
Array

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 7:
Remove all \r\n from file:
loadFile "somefile.txt" splitString toString [13,10] joinString " ";

Additional Information

See also:
joinString set resize reverse select in find toArray forEach count deleteAt deleteRange append sort param params arrayIntersect toString endl forceUnicodeUnicode Character Table strtok (C++)

Notes

Report bugs on the Feedback Tracker and/or discuss them on the Arma Discord or on the Forums.
Only post proven facts here! Add Note
BaerMitUmlaut - c
Posted on May 17, 2016 - 14:18 (UTC)
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 - c
Posted on Oct 17, 2016 - 14:03 (UTC)
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 - c
Posted on Jul 19, 2019 - 11:17 (UTC)
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"]