class FString : public TArray
TArray is a dynamic array in Unreal, in other words, the ONLY dynamic array type you can handle in Unreal's stock code.
The data type of FString array is TChar, that when define in Unicode UT, it's a 2 byte character (unsigned integer, 0-65535).
In Windows, you may use any value for each character in the strings, in Linux you're only limited to 0-127
(whoever built UT's Linux version was ape and disregarded cross-platform consistency over a stupid ideal, or it's simply a compiler bug, whatever...)
What am I getting at?
Just like you can do:
var byte Char[256];
In a dynamic array, you can do:
var <array> byte Char;
With the above one being entirely unusable from unrealscript.
The string is a sub-type of said dynamic arrays, with it's own function set (protected by manual manipulation, you need to use string functions).
var string CharSet;
That is exactly the same as the one above, but completely differently handled.
WHEN YOU THINK OF STRINGS, THINK OF AN ARRAY
var string S;
S = "You Are Noob";
Each letter corresponds to it's corresponding ASCII character index, just google any character map and it's corresponding index and you'll know what I mean.
This one below contains the 127 cross platform compatible chars.
The array certainly contains 12 (13 with nullterminated string? haven't checked that) elements:
{ 89, 111, .... etc }
(or in HEX)
{ 0x59, 0x6F, .... etc }
Len() in a string is the same as
Num() in dynamic array, returns the count.
Left returns the initial X objects belonging to this array, grouped up into a new string array.
and so on...
You need to convert a wildcard character into a player name in runtime and avoid any kind of bug or infinite loop.
Let's say your string is:
Message = "The lower deck has been breached by %p"
You need to print a message where %p is replaced by a player name.
That's what i'm trying to help you achieve.
Instead of coding or whatever, try seeing the actions in your mind.
If you were a computer handling a strip full of numbers (chars), how would you operate to replace %p with a player name?
If you get this right, you will never, ever have to ask a question about UT strings.
EDIT:
Forgot to mention, that the ( $ ) operator returns a united string:
native static final string operator $ (string A, string B);
A = "you "
B = "suck"
C = A $ B;
C > "you suck"