HX3 Foren

HX3 Foren (https://hx3.de/)
-   Editing & Scripting (https://hx3.de/editing-scripting-187/)
-   -   Zeichen aus Text filtern (https://hx3.de/editing-scripting-187/zeichen-text-filtern-23674/)

Nokman 16.04.2014 00:34

Zeichen aus Text filtern
 
Guten Abend/morgen,

Ich habe in einer Externen Datei folgende Zeile stehen und lasse die mir inlesen in eine _text .
Code:

[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
Code:

_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. Bin mir aber nicht sicher ob es das ist was du suchst.

Vienna 16.04.2014 09:04

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

Lester 16.04.2014 11:08

Zitat:

Zitat von Vienna (Beitrag 471320)
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. ;)

Vienna 16.04.2014 13:44

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.

Lester 16.04.2014 15:07

Zitat:

Zitat von Vienna (Beitrag 471344)
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.:
Code:

/*
    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
*/

Code:

/*
    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
*/

Code:

/*
    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;
*/


Nokman 16.04.2014 17:56

Code:

_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
Code:

(_text select 0) select 0
für 123
Code:

(_text select 0) select 1
für bla bla
Code:

(_text select 0) select 2 select 0
für 123
Code:

(_text select 0) select 2 select 1
456
Code:

(_text select 0) select 2 select 2
789
Code:

(_text select 0) select 2 select 3
000
Code:

(_text select 0) select 2 select 4
blabla
Code:

(_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

Vienna 16.04.2014 20:03

Kann ich nicht glauben, dass das so gehen soll...

Edit: nach deiner Änderung sollte es jetzt klappen.

Nokman 16.04.2014 23:30

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.

Code:

_text = [[123,"bla bla",[123,456,789,000,"blabla"],767]];
womit ich es in Einzelnen Zerlegen kann.

Danke für denn Hinweis!


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:31 Uhr.

Angetrieben durch vBulletin, Entwicklung von Philipp Dörner & Tobias


SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119