String: Difference between revisions
Jump to navigation
Jump to search
Lou Montana (talk | contribs) m (Text replacement - "\[https?\:\/\/en\.wikipedia\.org\/wiki\/([^ ]+) (.+)\]" to "{{Wikipedia|$1|$2}}") |
Lou Montana (talk | contribs) m (Text replacement - "\{\{ *Wikipedia *\| *([-a-zA-Z0-9_#':%\/\\]+) *\| *([-a-zA-Z0-9_#':%\/\\ ]+) *\}\}" to "{{Link|https://en.wikipedia.org/wiki/$1|$2}}") |
||
(4 intermediate revisions by the same user not shown) | |||
Line 24: | Line 24: | ||
|- | |- | ||
! Encoding | ! Encoding | ||
| {{ | | {{Link|https://en.wikipedia.org/wiki/ASCII|ASCII}} | ||
| colspan="6" | {{ | | colspan="6" | {{Link|https://en.wikipedia.org/wiki/Unicode|Unicode}} | ||
|- | |- | ||
! {{ | ! {{Link|https://en.wikipedia.org/wiki/Code_page|Code page}} | ||
| product language defined | | product language defined | ||
| colspan="6" | {{ | | colspan="6" | {{Link|https://en.wikipedia.org/wiki/UTF-8|UTF-8}} | ||
|- | |- | ||
! "text" | ! "text" | ||
Line 53: | Line 53: | ||
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: | ||
<sqf> | |||
_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" | |||
*/ | |||
</sqf> | |||
<sqf> | |||
_string = ' | |||
'; | |||
copyToClipboard _string; | |||
diag_log format ["%1 %2 %3 x%4x", toArray _string, toArray copyFromClipboard, toArray (_string select [0]), _string]; | |||
<small>Example courtesy of | /* | ||
return: "[9,10] [9,10] [9,10] x | |||
x" - second tab vanished | |||
*/ | |||
</sqf> | |||
<small>Example courtesy of {{Link|http://forums.bistudio.com/member.php?81568-Rydygier|Rydygier}}</small> | |||
== Examples == | == Examples == | ||
=== Quotes in | === Quotes in Quotes === | ||
<sqf> | |||
private _string = "my string ""with"" quotes"; | |||
private _string = 'my string "with" quotes'; | |||
private _string = 'my string with quotes'; | |||
</sqf> | |||
=== String | === String Formats === | ||
<sqf> | |||
// Operation Flashpoint | |||
_string = "Hello there" // works | |||
_string = 'Hello there' // does NOT work | |||
_string = {Hello there} // works | |||
</sqf> | |||
<sqf> | |||
// since Armed Assault | |||
_string = "Hello there" // works | |||
_string = 'Hello there' // works | |||
_string = {Hello there} // does NOT work | |||
</sqf> | |||
=== Operators === | === Operators === | ||
<sqf>private _finalString = "Hello" + " " + "there"; // outputs "Hello there" - the + sign concatenates strings</sqf> | |||
The only basic operator to be used on strings is "plus". You can use "plus" to concatenate two strings. | The only basic operator to be used on strings is "plus". You can use "plus" to concatenate two strings. | ||
=== Conversion === | === Conversion === | ||
<sqf> | |||
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 | |||
</sqf> | |||
[[Category: Data Types]] | [[Category: Data Types]] |
Latest revision as of 00:47, 24 February 2023
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 to 10,000,000 (same as Array length) | ||||
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
String Formats
Operators
The only basic operator to be used on strings is "plus". You can use "plus" to concatenate two strings.