splitString: Difference between revisions
Jump to navigation
Jump to search
m (added note how to split string at linebreak by adding endl to the delimiters) |
Killzone Kid (talk | contribs) (bad example) |
||
Line 25: | Line 25: | ||
|x3= <code>"1:2:3" [[splitString]] ":"; // ["1","2","3"]</code>|EXAMPLE3= | |x3= <code>"1:2:3" [[splitString]] ":"; // ["1","2","3"]</code>|EXAMPLE3= | ||
|x4= <code> | |x4= <code>"Japa is the best!" [[splitString]] "" [[joinString]] " "; // "J a p a i s t h e b e s t !"</code>|EXAMPLE4= | ||
|x5 | |x5= <code>_cmd = [[currentMagazineDetail]] [[player]]; //"9mm 16Rnd Mag(13/16)[id/cr:10000011/0]" | ||
_cmd [[splitString]] "([ ]/:)"; //["9mm","16Rnd","Mag","13","16","id","cr","10000011","0"]</code>|EXAMPLE5= | |||
_cmd [[splitString]] "([ ]/:)"; //["9mm","16Rnd","Mag","13","16","id","cr","10000011","0"]</code>| | |||
|x7= Remove all \r\n from file:<code>[[loadFile]] "somefile.txt" [[splitString]] [[toString]] [13,10] [[joinString]] " "</code>|EXAMPLE7= | |x7= Remove all \r\n from file:<code>[[loadFile]] "somefile.txt" [[splitString]] [[toString]] [13,10] [[joinString]] " "</code>|EXAMPLE7= |
Revision as of 16:59, 8 August 2019
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:
"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:
- 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
- Posted on July 19, 2019 - 11:17 (UTC)
- R3vo
-
When working with string which contain linebreaks...
"stringWith" + endl + "Linebreak" splitString ",; "; //Result ["someStringWith Linebreak"]
...one can remove those by adding endl as delimiter"stringWith" + endl + "Linebreak" splitString ",; " + endl //Result ["someStringWith","Linebreak"]