splitString: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (template:command argument fix)
m (template:command argument fix)
Line 7: Line 7:
____________________________________________________________________________________________
____________________________________________________________________________________________


| An SQF version of C++ [http://www.cplusplus.com/reference/cstring/strtok/ strtok]. Splits given string ''str'' into an array of tokens according to given ''delimiters''. In addition, if empty string "" is used for ''delimiters'', ''str'' is split by each character.|= Description
| An SQF version of C++ [http://www.cplusplus.com/reference/cstring/strtok/ strtok]. Splits given string ''str'' into an array of tokens according to given ''delimiters''. In addition, if empty string "" is used for ''delimiters'', ''str'' is split by each character.|DESCRIPTION=
____________________________________________________________________________________________
____________________________________________________________________________________________


| str '''splitString''' delimiters |= Syntax
| str '''splitString''' delimiters |SYNTAX=


|p1= str: [[String]] - A string to split |= Parameter 1
|p1= str: [[String]] - A string to split |PARAMETER1=
|p2= delimiters: [[String]] - one or more characters, each used as a separate delimiter. |= Parameter 2
|p2= delimiters: [[String]] - one or more characters, each used as a separate delimiter. |PARAMETER2=
| [[Array]] |= Return value
| [[Array]] |RETURNVALUE=
____________________________________________________________________________________________
____________________________________________________________________________________________


|x1= <code>_str = "- This, is a sample string." [[splitString]] "-,. "; // ["This","is","a","sample","string"]
|x1= <code>_str = "- This, is a sample string." [[splitString]] "-,. "; // ["This","is","a","sample","string"]
_str [[joinString]] " "; // "This is a sample string"</code>|= Example 1
_str [[joinString]] " "; // "This is a sample string"</code>|EXAMPLE1=


|x2= <code>"\A3\ui_f\data\map\vehicleicons\iconLogic_ca.paa" [[splitString]] "\.";  
|x2= <code>"\A3\ui_f\data\map\vehicleicons\iconLogic_ca.paa" [[splitString]] "\.";  
// ["A3","ui_f","data","map","vehicleicons","iconLogic_ca","paa"]</code>|= Example 2
// ["A3","ui_f","data","map","vehicleicons","iconLogic_ca","paa"]</code>|EXAMPLE2=


|x3= <code>"1:2:3" [[splitString]] ":"; // ["1","2","3"]</code>|= Example 3
|x3= <code>"1:2:3" [[splitString]] ":"; // ["1","2","3"]</code>|EXAMPLE3=


|x4= <code>["test","test"] [[joinString]] [[toString]] [12345] [[splitString]] [[toString]] [12345]; // ["test","test"]</code>|= Example 4
|x4= <code>["test","test"] [[joinString]] [[toString]] [12345] [[splitString]] [[toString]] [12345]; // ["test","test"]</code>|EXAMPLE4=


|x5= <code>"Japa is the best!" [[splitString]] "" [[joinString]] " "; // "J a p a  i s  t h e  b e s t !"</code>|= Example 5
|x5= <code>"Japa is the best!" [[splitString]] "" [[joinString]] " "; // "J a p a  i s  t h e  b e s t !"</code>|EXAMPLE5=


|x6= <code>_cmd = [[currentMagazineDetail]] [[player]]; //"9mm 16Rnd Mag(13/16)[id/cr:10000011/0]"
|x6= <code>_cmd = [[currentMagazineDetail]] [[player]]; //"9mm 16Rnd Mag(13/16)[id/cr:10000011/0]"
Line 35: Line 35:
____________________________________________________________________________________________
____________________________________________________________________________________________


| [[joinString]], [[set]], [[resize]], [[reverse]], [[select]], [[in]], [[find]], [[toArray]], [[forEach]], [[count]], [[deleteAt]], [[deleteRange]], [[append]], [[sort]], [[param]], [[params]], [[arrayIntersect]], [[toString]], [[endl]], [http://www.utf8-chartable.de/ Unicode Character Table] |= See also
| [[joinString]], [[set]], [[resize]], [[reverse]], [[select]], [[in]], [[find]], [[toArray]], [[forEach]], [[count]], [[deleteAt]], [[deleteRange]], [[append]], [[sort]], [[param]], [[params]], [[arrayIntersect]], [[toString]], [[endl]], [http://www.utf8-chartable.de/ Unicode Character Table] |SEEALSO=


}}
}}

Revision as of 14:49, 7 April 2019

Hover & click on the images for description

Description

Description:
An SQF version of C++ strtok. Splits given string str into an array of tokens according to given delimiters. In addition, if empty string "" is used for delimiters, str is split by each character.
Groups:
Uncategorised

Syntax

Syntax:
str splitString delimiters
Parameters:
str: String - A string to split
delimiters: String - one or more characters, each used as a separate delimiter.
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:
["test","test"] joinString toString [12345] splitString toString [12345]; // ["test","test"]
Example 5:
"Japa is the best!" splitString "" joinString " "; // "J a p a i s t h e b e s t !"
Example 6:
_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:
joinStringsetresizereverseselectinfindtoArrayforEachcountdeleteAtdeleteRangeappendsortparamparamsarrayIntersecttoStringendlUnicode Character Table

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

Notes

Bottom Section

Posted on May 17, 2016 - 14:18 (UTC)
BaerMitUmlaut
This command is unreliable/broken when it comes to some non-ASCII characters (as of Arma 3 1.58): "Mörser" splitString "" -> ["M"," "," ","r","s","e","r"] "Mörser" splitString "ö" -> ["M","rser"] "Mörser" splitString "ä" -> ["M"," rser"]
Posted on October 17, 2016 - 14:03 (UTC)
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