String: Difference between revisions
Jump to navigation
Jump to search
Poslovitch (talk | contribs) (→Commands: added how to get the "length" of a string) |
Lou Montana (talk | contribs) (Page lifting) |
||
Line 1: | Line 1: | ||
{{TOC|side}} | {{TOC|side}} | ||
A '''string''' is a [[:Category:Data Types|variable type]] that contains text. Possible length and characters depend on the game and its version. | |||
{{Feature|informative|The encoding should be mostly transparent. The input files can be encoded both in UTF-16 or UTF-8, the [[toString]] and [[toArray]] functions always convert from/to UTF-16 representation.}} | |||
== Properties == | |||
{| class="wikitable" style="text-align: center" | |||
! | |||
! {{Name|ofp|short}} | |||
! {{Name|arma1|short}} | |||
! {{Name|arma2|short}} | |||
! {{Name|arma2oa|short}} | |||
! {{Name|tkoh|short}} | |||
! {{Name|arma3|short}} (before v1.56) | |||
! {{Name|arma3|short}} (since v1.56) | |||
|- | |||
! Max length | |||
| 2056 | |||
| colspan="5" | No set limit | |||
| 9,999,999 ± | |||
|- | |||
! Encoding | |||
| [http://en.wikipedia.org/wiki/ASCII ASCII] | |||
| colspan="6" | [http://en.wikipedia.org/wiki/Unicode Unicode] | |||
|- | |||
! [http://en.wikipedia.org/wiki/Code_page Code page] | |||
| product language defined | |||
| colspan="6" | [http://en.wikipedia.org/wiki/UTF-8 UTF-8] | |||
|- | |||
! "text" | |||
| colspan="7" | {{Icon|checked}} | |||
|- | |||
! 'text' | |||
| {{Icon|unchecked}} | |||
| colspan="6" | {{Icon|checked}} | |||
|- | |||
! {text} | |||
| {{Icon|checked}} | |||
| colspan="6" | {{Icon|unchecked}} | |||
|} | |||
== Commands and Functions == | |||
* [[:Category:Command Group: Strings|String Scripting Commands]] | |||
* [[:Category:Function Group: Strings|String Functions]] | |||
== | == Single quote limitation == | ||
= | |||
Other than double quotes ("text"), single quotes ('text') do not seem to support tabs: | Other than double quotes ("text"), single quotes ('text') do not seem to support tabs: | ||
Line 51: | Line 59: | ||
[[diag_log]] [[format]] ["%1 %2 %3 x%4x", [[toArray]] _string, [[toArray]] [[copyFromClipboard]], [[toArray]] (_string [[select]] [0]), _string]; | [[diag_log]] [[format]] ["%1 %2 %3 x%4x", [[toArray]] _string, [[toArray]] [[copyFromClipboard]], [[toArray]] (_string [[select]] [0]), _string]; | ||
/*return is good: "[9,10,9] [9,10,9] [9,10,9] x | {{codecomment|/* | ||
x"*/ | return is good: "[9,10,9] [9,10,9] [9,10,9] x | ||
x" | |||
*/}} | |||
_string = ' | _string = ' | ||
Line 59: | Line 69: | ||
[[diag_log]] [[format]] ["%1 %2 %3 x%4x", [[toArray]] _string, [[toArray]] [[copyFromClipboard]], [[toArray]] (_string [[select]] [0]), _string]; | [[diag_log]] [[format]] ["%1 %2 %3 x%4x", [[toArray]] _string, [[toArray]] [[copyFromClipboard]], [[toArray]] (_string [[select]] [0]), _string]; | ||
/*return: "[9,10] [9,10] [9,10] x | {{codecomment|/* | ||
x" - second tab vanished*/ | return: "[9,10] [9,10] [9,10] x | ||
x" - second tab vanished | |||
*/}} | |||
<small>Example courtesy of [http://forums.bistudio.com/member.php?81568-Rydygier Rydygier]</small> | |||
== Examples == | |||
=== Quotes in quotes === | |||
== | [[private]] _string = "my string ""with"" quotes"; | ||
[[private]] _string = 'my string "with" quotes'; | |||
[[private]] _string = 'my string ''with'' quotes'; | |||
Since {{arma1}} | === String formats === | ||
{{cc|{{ofp}}}} | |||
_string = "Hello there" {{cc|works}} | |||
_string = 'Hello there' {{cc|does NOT work}} | |||
_string = {Hello there} {{cc|works}} | |||
{{cc|Since {{arma1}}}} | |||
_string = "Hello there" {{cc|works}} | |||
_string = 'Hello there' {{cc|works}} | |||
_string = {Hello there} {{cc|does NOT work}} | |||
=== Operators === | |||
[[private]] _finalString = "Hello" + " " + "there"; {{cc|outputs "Hello there" - the [[+]] sign concatenates strings}} | |||
The only basic operator to be used on strings is "plus". You can use "plus" to concatenate two strings. | |||
=== Conversion === | |||
[[private]] _value = 42; {{cc|this is a [[Number]]}} | |||
[[hint]] _value; {{cc|error - [[hint]] takes a [[String]], not a [[Number]]}} | |||
[[hint]] [[format]] ["%1", _value]; {{cc|ok}} | |||
[[hint]] [[str]] _value; {{cc|ok - since {{arma1}}}} | |||
[[Category: Data Types]] | [[Category: Data Types]] |
Revision as of 11:15, 5 May 2021
A string is a variable type that contains text. Possible length and characters depend on the game and its version.
Properties
OFP | ArmA | Arma 2 | Arma 2:OA | TKOH | Arma 3 (before v1.56) | Arma 3 (since v1.56) | |
---|---|---|---|---|---|---|---|
Max length | 2056 | No set limit | 9,999,999 ± | ||||
Encoding | ASCII | Unicode | |||||
Code page | product language defined | UTF-8 | |||||
"text" | |||||||
'text' | |||||||
{text} |
Commands and Functions
Single quote limitation
Other than double quotes ("text"), single quotes ('text') do not seem to support tabs:
_string = " "; copyToClipboard _string; diag_log format ["%1 %2 %3 x%4x", toArray _string, toArray copyFromClipboard, toArray (_string select [0]), _string]; /* return is good: "[9,10,9] [9,10,9] [9,10,9] x x" */
_string = ' '; copyToClipboard _string; diag_log format ["%1 %2 %3 x%4x", toArray _string, toArray copyFromClipboard, toArray (_string select [0]), _string]; /* return: "[9,10] [9,10] [9,10] x x" - second tab vanished */
Example courtesy of Rydygier
Examples
Quotes in quotes
private _string = "my string ""with"" quotes"; private _string = 'my string "with" quotes'; private _string = 'my string with quotes';
String formats
// Operation Flashpoint _string = "Hello there" // works _string = 'Hello there' // does NOT work _string = {Hello there} // works
// Since Armed Assault _string = "Hello there" // works _string = 'Hello there' // works _string = {Hello there} // does NOT work
Operators
private _finalString = "Hello" + " " + "there"; // outputs "Hello there" - the + sign concatenates strings
The only basic operator to be used on strings is "plus". You can use "plus" to concatenate two strings.
Conversion
private _value = 42; // this is a Number hint _value; // error - hint takes a String, not a Number hint format ["%1", _value]; // ok hint str _value; // ok - since Armed Assault