splitString: Difference between revisions
Jump to navigation
Jump to search
m (Text replacement - "<h3 style="display:none">Bottom Section</h3> " to "") |
Lou Montana (talk | contribs) m (Text replacement - " *\| *([Cc]omments|COMMENTS|Game|[Gg]ame [Nn]ame( +[0-9])?|Game [Vv]ersion( +[0-9])?|Game Version \(number surrounded by NO SPACES\)|Arguments in MP|MP[Aa]rg|Multiplayer Arguments( \("local" or "global"\))?|Effects|Execution|Effects...) |
||
Line 1: | Line 1: | ||
{{Command | {{Command | ||
| arma3 | | arma3 | ||
|1.50 | |1.50 | ||
|gr1= Strings | |gr1= Strings | ||
| An SQF version of C++ [http://www.cplusplus.com/reference/cstring/strtok/ strtok]. Splits given ANSI 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. If Unicode support is desired, see [[forceUnicode]]. | | An SQF version of C++ [http://www.cplusplus.com/reference/cstring/strtok/ strtok]. Splits given ANSI 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. If Unicode support is desired, see [[forceUnicode]]. | ||
| str '''splitString''' delimiters | | str '''splitString''' delimiters | ||
|p1= str: [[String]] - A string to split | |p1= str: [[String]] - A string to split | ||
|p2= delimiters: [[String]] - one or more characters, each used as a separate delimiter. | |p2= delimiters: [[String]] - one or more characters, each used as a separate delimiter. | ||
| [[Array]] | | [[Array]] | ||
|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> | _str [[joinString]] " "; // "This is a sample string"</code> | ||
|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> | // ["A3","ui_f","data","map","vehicleicons","iconLogic_ca","paa"]</code> | ||
|x3= <code>"1:2:3" [[splitString]] ":"; // ["1","2","3"]</code> | |x3= <code>"1:2:3" [[splitString]] ":"; // ["1","2","3"]</code> | ||
|x4= <code>"Japa is the best!" [[splitString]] "" [[joinString]] " "; // "J a p a i s t h e b e s t !"</code> | |x4= <code>"Japa is the best!" [[splitString]] "" [[joinString]] " "; // "J a p a i s t h e b e s t !"</code> | ||
|x5= <code>_cmd = [[currentMagazineDetail]] [[player]]; //"9mm 16Rnd Mag(13/16)[id/cr:10000011/0]" | |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> | _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> | |x7= Remove all \r\n from file:<code>[[loadFile]] "somefile.txt" [[splitString]] [[toString]] [13,10] [[joinString]] " "</code> | ||
| [[joinString]], [[set]], [[resize]], [[reverse]], [[select]], [[in]], [[find]], [[toArray]], [[forEach]], [[count]], [[deleteAt]], [[deleteRange]], [[append]], [[sort]], [[param]], [[params]], [[arrayIntersect]], [[toString]], [[endl]], [[forceUnicode]], [http://www.utf8-chartable.de/ Unicode Character Table] | | [[joinString]], [[set]], [[resize]], [[reverse]], [[select]], [[in]], [[find]], [[toArray]], [[forEach]], [[count]], [[deleteAt]], [[deleteRange]], [[append]], [[sort]], [[param]], [[params]], [[arrayIntersect]], [[toString]], [[endl]], [[forceUnicode]], [http://www.utf8-chartable.de/ Unicode Character Table] | ||
}} | }} |
Revision as of 11:27, 18 January 2021
Description
- Description:
- An SQF version of C++ strtok. Splits given ANSI 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. If Unicode support is desired, see forceUnicode.
- Groups:
- Strings
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:
- joinStringsetresizereverseselectinfindtoArrayforEachcountdeleteAtdeleteRangeappendsortparamparamsarrayIntersecttoStringendlforceUnicodeUnicode 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
- 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"]