Moin,
da ich heute angeschrieben wurde ob es möglich ist von einer UID die letzten 5 Stellen aus zu geben habe ich mich mal rangesetzt und einen kleinen String Cutter gebaut. Ich habe es noch nicht getestet daher übernehme ich auch keine Garantie . Was kann das Script, extrahiert einfach eine beliebige Anzahl von Zeichen aus einem String. Zur Zeit kann man nur festlegen ob man die Zeichen vom Anfang oder vom Ende holen möchte.
Aufgerufen wird das Script mit folgende Parametern. 1. Gesamtstring, 2. Anzahl der Zeichen die man haben möchte, 3. Startposition (Anfang 0, Ende 1)
_cutstring = [_inputstring,_anzahl,_start] call life_fnc_stringCutter;
/*
File: fn_stringCutter.sqf
Author: moeck
Description:
Cuts a string from begin or end and gives a string with x chars back
*/
private ["_input","_lenght","_cutlenght","_position","_output","_tmp","_inputarray"];
params [
[_input,"",[""]],
[_cutlenght,0,[0]],
[_position,0,[0]] //Anfang bzw. Ende
];
_output = "";
_length = 0;
_inputarray = [];
_tmp = [];
if(_input isEqualTo "") exitWith {}; // no input!
_inputarray = toArray(_input);
_length = (count _inputarray)-1;
if (_length isEqualTo 0) exitWith {}; // no input
if (_length < _cutlenght) exitWith {}; // If you want to have more chars then exists in then total length
if (_position isEqualTo 0) then {
for "_i" from 0 to _cutlength do {
_tmp pushback _inputarray select _i;
};
if (count _tmp > 0) exitWith {
_ouput = toString(_tmp);
_output;
};
};
if (_position isEqualTo 1) then {
_start = _length - _cutlength;
for "_i" from _start to _length do {
_tmp pushback _inputarray select _i;
};
if (count _tmp > 0) exitWith {
_ouput = toString(_tmp);
_output;
};
};
Alles anzeigen
Man kann das Ganze noch weiterausbauen, wenn man möchte z.B. man möchte an einer bestimmten Stelle anfangen und dann x Zeichen rausholen.
In diesem Sinne noch einen schönen Mittwoch.
Gruß,
moeck