Archiv verlassen und diese Seite im Standarddesign anzeigen : Zeichen aus Text filtern
Guten Abend/morgen,
Ich habe in einer Externen Datei folgende Zeile stehen und lasse die mir inlesen in eine _text .
[123,bla bla,[123,123,123,123,blabla]]
Meine suche geht nun dahin wie kann ich die Einzelnen "," Auseinaderkliedern
_a = [123
_b = bla bla
_c = [123
_d = 123
_e = 123.12
_f = 123
_g = blabla]]
und ich es noch zusätzlich hinbekomme die "][" nicht mit einzuspeichern?
Ich müsste das ganze doch mit
_text select 1
_text select 2
_text select 3
...
bewerkstelligen doch da es mit ein [ anfängt und dazwischen auch welche sind kommt er wohl durcheinander
marc_book
16.04.2014, 07:35
Versuchs mal mit find (https://community.bistudio.com/wiki/find). Bin mir aber nicht sicher ob es das ist was du suchst.
Dein Array enthält keinen Text sondern Zahlen und eine Variable Namens blabla. Text muss in Anführungszeichen stehen.
Wenn du meinst du hast diesen String:
_text = "[123,bla bla,[123,123,123,123,blabla]]";
sind mir in Arma keine Befehle bekannt, mit denen man diesen String zerlegen kann.
Umwandeln von Zahlen auf String geht mit str oder format. Auch das Zusammenfügen von Text ist möglich.
https://community.bistudio.com/wiki/String
Wenn du meinst du hast diesen String:
_text = "[123,bla bla,[123,123,123,123,blabla]]";
sind mir in Arma keine Befehle bekannt, mit denen man diesen String zerlegen kann.
Es geht, ist aber recht mühsam via toarray, dann weiterverarbeitenund schließlich die Teile via tostring wieder zusammenfügt.
Im z.B. CBA Addon sind sogar einige komplexere String Routinen zu finden die auf derartige Methoden basieren. ;)
toarray und tostring verarbeiten den Code der einzelnen Textzeichen, diese Befehle kannte ich noch gar nicht. Damit könnte man eine Funktionen erstellen welche das Ausschneiden von Texteilen ermöglicht.
Wäre gar nicht so schwer zu erstellen, falls Nokman das wirklich so benötigt.
Damit könnte man eine Funktionen erstellen welche das Ausschneiden von Texteilen ermöglicht.
Wäre gar nicht so schwer zu erstellen, falls Nokman das wirklich so benötigt.Die Funktionen gibt es teilweise schon, sogar in A3 default, einfach im Funktionsbrowser rumkramen !;)
z.B.:/*
Author: Jiri Wainar
Description:
Get a substring out of the string.
Parameter(s):
1: STRING - source string
2: NUMBER (optional, default 0) - start index;
* indexing starts at 0
3: NUMBER (optional, default end of string) - end index
* negative number means -X chars from the string end
Returns:
STRING
*//*
Author: Karel Moricky
Description:
Split spring according to given separators
Parameter(s):
1: STRING - affected string
2: STRING - one or more separators
Returns:
ARRAY of STRINGs
*//*
File: inString.sqf
Author: Mika Hannola
Description:
Find a string within a string.
Parameter(s):
_this select 0: <string> string to be found
_this select 1: <string> string to search from
_this select 2 (Optional): <boolean> search is case sensitive (default: false)
Returns:
Boolean (true when string is found).
How to use:
_found = ["string", "String", true] call BIS_fnc_inString;
*/
_text = [[123,"bla bla",[123,456,789,000,"blabla"],767]];
es ging sogar einfach auseinander zumnehmen mit Select es dauerte blos bis ich das richtige abgegriffen hatte
(_text select 0) select 0
für 123
(_text select 0) select 1
für bla bla
(_text select 0) select 2 select 0
für 123
(_text select 0) select 2 select 1
456
(_text select 0) select 2 select 2
789
(_text select 0) select 2 select 3
000
(_text select 0) select 2 select 4
blabla
(_text select 0) select 3
767
Aber ich hate nicht erwartet das man in Arma wirklich eien Textverarbeitung hinbekommen könnte aber so wie es aussieht kann man auch Excel ablösen ^^
Viel dank
Kann ich nicht glauben, dass das so gehen soll...
Edit: nach deiner Änderung sollte es jetzt klappen.
Ich hate es mir noch mal angeschaut nach deinem Post "es kann nicht gehen". Und es stimmt ich hatte was vergessen.
Da ich die Eingabe datei Verändern kann habe ich es mir viel zu Kompliziert gemacht und habe die Variable umgeändert damit sie Auslesbar ist mit Select. das hatte ich im Vorhergehenden Post schlicht übersehen/vergessen.
_text = [[123,"bla bla",[123,456,789,000,"blabla"],767]];
womit ich es in Einzelnen Zerlegen kann.
Danke für denn Hinweis!
vBulletin® v3.7.3, Copyright ©2000-2024, Jelsoft Enterprises Ltd.