CNDG
Würden Sie gerne auf diese Nachricht reagieren? Erstellen Sie einen Account in wenigen Klicks oder loggen Sie sich ein, um fortzufahren.


Ein Forum, in dem sich neue Clonk Entwickler untereinander austauschen können.
 
StartseiteStartseite  PortalPortal  SuchenSuchen  Neueste BilderNeueste Bilder  AnmeldenAnmelden  LoginLogin  

 

 Teilstring ersetzen

Nach unten 
+4
Mega Hazard
Liech
Gamer
Höfi
8 verfasser
AutorNachricht
Höfi
SFT
SFT
Höfi


Männlich Alter : 29
Anmeldedatum : 20.10.08

Teilstring ersetzen Empty
BeitragThema: Teilstring ersetzen   Teilstring ersetzen EmptyFr Feb 27, 2009 10:44 pm

Soo...
Ich hab jetzt mal entschieden mal wieder was schönes zu entwickeln.
Nun zu meinem Problem:

Ich habe eine Zeichenkette.
Ich will alle vorkommen einer anderen Zeichenkette durch eine wiederrum andere ersetzen.
In der Doku hab ich keinen Befehl gefunden.
Meine Frage:
Muss ich das irgendwie mit ner schleife lösen?
Nach oben Nach unten
Gamer
Staatsrat
Staatsrat
Gamer


Männlich Alter : 28
Ort : In einem kleinen Dorf in Unterfranken (Bayern)
Anmeldedatum : 10.02.09

Teilstring ersetzen Empty
BeitragThema: Re: Teilstring ersetzen   Teilstring ersetzen EmptyFr Feb 27, 2009 11:07 pm

Man kann das doch einfach wie bei einer Variablenzuweißung machen...
es gibt doch speicherbare Strings.
Es gibt auch einen Operator dafür.
Nach oben Nach unten
http://www.gamer95.npage.de/
Höfi
SFT
SFT
Höfi


Männlich Alter : 29
Anmeldedatum : 20.10.08

Teilstring ersetzen Empty
BeitragThema: Re: Teilstring ersetzen   Teilstring ersetzen EmptyFr Feb 27, 2009 11:14 pm

Wie jetzt?
Nach oben Nach unten
Liech
Fregattenkapitän
Fregattenkapitän



Männlich Alter : 33
Anmeldedatum : 02.02.09

Teilstring ersetzen Empty
BeitragThema: Re: Teilstring ersetzen   Teilstring ersetzen EmptyFr Feb 27, 2009 11:18 pm

Das ist garnicht so einfach und auch nicht kurz erzählt. Erzähl entweder was du vorhast (vielleicht gibts da bessere lösungen)
Ansonsten schau dir das an, baue eine funktion string GetAscii() und ganz viele weitere böse dinge. Komplette strings kannst du mit S= (strict2 auch ==) vergleichen, d.h du musst den string nur aufsplitten, was ein einmaliger großer aufwand ist.

Ansonsten würde ich mal in System.c4g/Commits.c gucken, vielleicht gibts dort ein string split script.
Nach oben Nach unten
Höfi
SFT
SFT
Höfi


Männlich Alter : 29
Anmeldedatum : 20.10.08

Teilstring ersetzen Empty
BeitragThema: Re: Teilstring ersetzen   Teilstring ersetzen EmptyFr Feb 27, 2009 11:26 pm

Die funktionen hab ich schon durch.
Ich will ja nicht nur ein zeichen ersetzen.
Was ich erst machen wollte, war in ner Schleife mit Wildcard Match durchgehen.
Ich wollt einfach fragen, ob das auch intelligenter geht.
Nach oben Nach unten
Höfi
SFT
SFT
Höfi


Männlich Alter : 29
Anmeldedatum : 20.10.08

Teilstring ersetzen Empty
BeitragThema: Re: Teilstring ersetzen   Teilstring ersetzen EmptySa Feb 28, 2009 12:33 am

Oder wie wüdet ihrs machen?
Nach oben Nach unten
Liech
Fregattenkapitän
Fregattenkapitän



Männlich Alter : 33
Anmeldedatum : 02.02.09

Teilstring ersetzen Empty
BeitragThema: Re: Teilstring ersetzen   Teilstring ersetzen EmptySa Feb 28, 2009 2:02 am

Solange wir nicht wissen was du machen willst, sondern nur wie du es machen willst können wir dir eigentlich garnicht helfen.
Nach oben Nach unten
Höfi
SFT
SFT
Höfi


Männlich Alter : 29
Anmeldedatum : 20.10.08

Teilstring ersetzen Empty
BeitragThema: Re: Teilstring ersetzen   Teilstring ersetzen EmptySa Feb 28, 2009 2:06 am

Ich will nen clonk machen, mit dem man chatten kann.
So ne Art chatbot.
Kennt wer von euch eliza?
Nach oben Nach unten
Liech
Fregattenkapitän
Fregattenkapitän



Männlich Alter : 33
Anmeldedatum : 02.02.09

Teilstring ersetzen Empty
BeitragThema: Re: Teilstring ersetzen   Teilstring ersetzen EmptySa Feb 28, 2009 2:11 am

Ja, da brauchst du wirklich aufwand:\
Am besten du baust dir ersteinmal eine riesige funktionssammlung um strings zu manipulieren (Diese kannst du wunderbar hochladen, braucht sicher jeder mal)
Du kannst jedes zeichen einzeln extrahieren, zurück übersetzen (mit der entsprechenden funktion), wieder teilweise nach wunsch zusammenfügen und dann kannst du sie untersuchen. Was besseres fällt mir jetzt nicht ein.
Nach oben Nach unten
Höfi
SFT
SFT
Höfi


Männlich Alter : 29
Anmeldedatum : 20.10.08

Teilstring ersetzen Empty
BeitragThema: Re: Teilstring ersetzen   Teilstring ersetzen EmptySa Feb 28, 2009 2:16 am

Ich versteh zwar nicht, was du meinst, aber ich mach das jetzt so wieichs anfangs auch schon wollte.
Nach oben Nach unten
Mega Hazard
Staatsrat
Staatsrat
Mega Hazard


Männlich Alter : 31
Ort : Brunswiek *helllau*
Anmeldedatum : 24.01.08

Teilstring ersetzen Empty
BeitragThema: Re: Teilstring ersetzen   Teilstring ersetzen EmptySa Feb 28, 2009 11:14 am

Du müsstest doch eigentlich mi etwas if(), for() und GetChar bzw. GetAscii das schaffen können. Zum Beispiel suchst du zuerst im ganzen String nach einem Buchstaben des Teilstrings, dann links bzw. rechts davon nach den Anderen.
Nach oben Nach unten
http://megahazard.lima-city.de/Main.htm
Höfi
SFT
SFT
Höfi


Männlich Alter : 29
Anmeldedatum : 20.10.08

Teilstring ersetzen Empty
BeitragThema: Re: Teilstring ersetzen   Teilstring ersetzen EmptySa Feb 28, 2009 12:54 pm

Auch ne gute Möglichkeit!
Andere Idee:
Eigentlich bräuchte man nur herrausfinden, wo sich der Teilstring befindet.
DAs könnte man mit ner Schleife realisieren, die den zu durchsuchenden string verkleinert und dan nach dem Teilstring sucht.
Nach oben Nach unten
kevda
Feldmarschall
Feldmarschall



Anmeldedatum : 08.05.08

Teilstring ersetzen Empty
BeitragThema: Re: Teilstring ersetzen   Teilstring ersetzen EmptySa Feb 28, 2009 10:48 pm

Ich würde vorschlagen erst mit Wildcardmatch überprüfen ob der String1 überhaupt im String2 vorhanden ist und dann würde ich den String2 durchgehen bis man auf den bestimmten String1 kommt. Bei Schritt zwei muss du lediglich mehrmals mit GetChar überprüfen.

So eine FindStringInString Funktion kann man ruhig uploaden aufn CCAN, muss dann nur noch paar weitere nützliche String-Funktionen hinzufügen.
Nach oben Nach unten
Vadim_Rodin
Kadett
Kadett
Vadim_Rodin


Männlich Alter : 26
Ort : Scheer
Anmeldedatum : 19.01.09

Teilstring ersetzen Empty
BeitragThema: Re: Teilstring ersetzen   Teilstring ersetzen EmptySo März 01, 2009 11:01 am

Willst du so ein chatbot machen wie bei Der Szen Tal Des Blutes Oder? wenn ich mich nicht irre
Nach oben Nach unten
TqmTqm
Clonk
Clonk



Anmeldedatum : 23.02.09

Teilstring ersetzen Empty
BeitragThema: Re: Teilstring ersetzen   Teilstring ersetzen EmptySo März 01, 2009 8:12 pm

so

hab dir mal ein paar funktionen geschrieben :

Code:

#strict

//TqmTqms kleine Stringfunktionen
//enthalten bis jetzt:

// string StrReplace(string zeichenkette,string suchMuster,string ersetzenDurch)
// string SubStr(int start,string zeichenkette,int ende)
// string func CharAt(string zeichenkette,int i)
// string func GetBuchstabe(int zahl)




   //string StrReplace(string zeichenkette,string suchMuster,string ersetzenDurch)by TqmTqm
   //die funktion StrReplace durchsucht die gesamte "zeichenkette" nach dem "suchMuster" und ersetzt
   //dieses durch "ersetzeDurch" und gibt dann den modifizierten string zurück

func StrReplace(string zeichenkette,string suchMuster,string ersetzenDurch){
   for (var i = 0;i<GetLength(zeichenkette);i++){
      if (suchMuster eq SubStr(i,zeichenkette,GetLength(suchMuster)+i))
         zeichenkette = Format("%s%s%s",SubStr(0,zeichenkette,i),ersetzenDurch,SubStr(GetLength(suchMuster)+i,zeichenkette,GetLength(zeichenkette)));   
   }
   return(zeichenkette);
}

   //string SubStr(int start,string zeichenkette, int ende) by TqmTqm
   //die funktion SubString erzeugt aus der übergebenden zeichenkette
   //einen teilstring. start makiert dabei das erste zeichen was angezeigt werden soll
   //um beispielsweise aus "Clonk" "lonk" zumachen müsste man SubStr(1,"Clonk") aufrufen
   //bei start 0 würde wieder Clonk herauskommen. Außerdem gibt es noch optional den 'ende'
   //parameter, damit kann man das ende des neuen strings festlegen
   //SubStr(1,"Hamburger",4) erzeugt beispielsweise "amb"
   //weitere stringfunktionen sind in arbeit


func SubStr(int start,string zeichenkette,int ende){

   var neueZeichenkette = "";
   for (var i = 0;i<GetLength(zeichenkette) && (i < ende || ende == 0);i++){
      if (i >= start)
         neueZeichenkette = Format("%s%s",neueZeichenkette,GetBuchstabe(GetChar(zeichenkette,i)));
   }
   return(neueZeichenkette);
}

   //string CharAt(string zeichenkette,int zahl) by TqmTqm
   //die funktion CharAt ist wie GetChar, blos das sie
   //statt dem int wert den wirklichen buchstaben zurückgibt


func CharAt(string zeichenkette,int i){
   return (GetBuchstabe(GetChar(zeichenkette,i)));
}

   //string GetBuchstabe(int zahl) by TqmTqm
   //die funktion GetBuchstabe erzeugt aus einer übergebenen zahl den druckbaren ascii buchstabe

func GetBuchstabe(int zahl){
   var asciiArray = [" ","?","!","''","#","$","%","&","'","(",")","*","+",",","-",".","/","0","1","2","3","4","5","6","7","8","9",":",";","<","=",">","?","@","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","[","Backslash","]","^","`","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","{","|","}","~"];
   return(asciiArray[zahl-32]);
}

und hier nochmal als script, wie du das einbindest musst du überlegen

script.c

und wie immer hätte ich gerne feedback, wünsche, verbesserungsvorschläge

glg tqmtqm
Nach oben Nach unten
trike994
Konteradmiral
Konteradmiral



Männlich Alter : 30
Anmeldedatum : 10.12.08

Teilstring ersetzen Empty
BeitragThema: Re: Teilstring ersetzen   Teilstring ersetzen EmptySo März 01, 2009 8:15 pm

sieht cool aus
Nach oben Nach unten
kevda
Feldmarschall
Feldmarschall



Anmeldedatum : 08.05.08

Teilstring ersetzen Empty
BeitragThema: Re: Teilstring ersetzen   Teilstring ersetzen EmptySo März 01, 2009 10:59 pm

Bei Format kann man auch %c angeben um eine Ascii Zahl umzuwandeln in ein Symbol.

Sieht alles eigentlich ganz gut aus bisher.
Nach oben Nach unten
Vadim_Rodin
Kadett
Kadett
Vadim_Rodin


Männlich Alter : 26
Ort : Scheer
Anmeldedatum : 19.01.09

Teilstring ersetzen Empty
BeitragThema: Re: Teilstring ersetzen   Teilstring ersetzen EmptyDi März 03, 2009 6:48 pm

gut,
jetzt brauch noch Höfi was schreiben^^ queen
Nach oben Nach unten
Höfi
SFT
SFT
Höfi


Männlich Alter : 29
Anmeldedatum : 20.10.08

Teilstring ersetzen Empty
BeitragThema: Re: Teilstring ersetzen   Teilstring ersetzen EmptyDi März 03, 2009 6:51 pm

Was denn?
ja werd ich machen^^
Nach oben Nach unten
Gesponserte Inhalte





Teilstring ersetzen Empty
BeitragThema: Re: Teilstring ersetzen   Teilstring ersetzen Empty

Nach oben Nach unten
 
Teilstring ersetzen
Nach oben 
Seite 1 von 1
 Ähnliche Themen
-
» Alle Materialien eines Typs ersetzen

Befugnisse in diesem ForumSie können in diesem Forum nicht antworten
CNDG :: Sonstiges :: Anfragen-
Gehe zu: