Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Ersetzen in einem String

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Kiffi



Anmeldungsdatum: 04.02.2005
Beiträge: 8

BeitragVerfasst am: 04.02.2005, 10:01    Titel: Ersetzen in einem String Antworten mit Zitat

Hallo,

vielleicht habe ich ja Tomaten auf den Augen, aber ich suche die ganze Zeit
nach einer Möglichkeit, eine Zeichenfolge in einem String durch eine andere
zu ersetzen (Replace()). Habe ich was übersehen?

Danke im voraus & Grüße ... Kiffi
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 04.02.2005, 13:01    Titel: Antworten mit Zitat

Hallo.

Soweit ich weiß, gibt es das nicht in FB. Das ist ein spezifischer Befehl aus VisualBasic.

Hier ein Replace-Code für dich... zwinkern
www.vbarchiv.net hat Folgendes geschrieben:
Mit der Funktion Replace kann man Teile von Strings ersetzen. Leider gibt es diese Funktion erst seit Visual-Basic 6. Der heutige Tipp zeigt Ihnen eine Funktion, welche den Replace-Befehl von VB6 nachbildet, so daß Sie auch in älteren VB-Versionen (oder in Freebasic) nicht mehr auf diese leistungsstarke Funktion verzichten müssen.

Code:
'Replace für ältere VB-Versionen und FB
Function StringReplace(sText As String, _
  sLookFor As String, sReplaceWith As String) As String

  Dim sNew As String
  Dim i As Integer

  For i = 1 To Len(sText)
    If Mid$(sText, i, Len(sLookFor)) = sLookFor Then
      sNew = sNew + sReplaceWith
      i = i - 1 + Len(sLookFor)
    Else
      sNew = sNew + Mid$(sText, i, 1)
    End If
  Next
  StringReplace = sNew
End Function

'Und hier ein kleines Anwendungsbeispiel:

Dim sHW As String
sHW = StringReplace("Hello World", "e", "a")
PRINT StringReplace(sHW, "World", "Welt")


Erläuterungen:
Zunächst werden die Buchstaben e des Ausdrucks Hello World durch das a ersetzt. Der zweite Aufruf der StringReplace-Funktion ersetzt dann noch das Wort World durch das Wort Welt, so daß anstelle des ursprünglichen Ausdrucks: Hello World dann Hallo Welt ausgegeben wird.


Viele Grüße!
Sebastian

//edit: Mein 500. Beitrag! Jubiläum!!! happy happy happy (Und das an meinem Geburtstag... zwinkern )
_________________

Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Kiffi



Anmeldungsdatum: 04.02.2005
Beiträge: 8

BeitragVerfasst am: 04.02.2005, 13:40    Titel: Antworten mit Zitat

Hallo Sebastian,

> Hier ein Replace-Code für dich... zwinkern

vielen Dank für Deine schnelle Hilfe
und herzlichen Glückwunsch zu Deinem Geburtstag! lächeln

Grüße ... Kiffi
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
dreael
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 2507
Wohnort: Hofen SH (Schweiz)

BeitragVerfasst am: 04.02.2005, 14:42    Titel: Antworten mit Zitat

<OFF_TOPIC>
Gratuliere ebenfalls zu Deinem Geburtstag sowie zum 500.-Posting-Jubiläum. :-))
</OFF_TOPIC>
_________________
Teste die PC-Sicherheit mit www.sec-check.net
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
helium



Anmeldungsdatum: 10.09.2004
Beiträge: 397
Wohnort: Leverkusen

BeitragVerfasst am: 04.02.2005, 15:22    Titel: Antworten mit Zitat

@Sebastian:
Gratulation.
_________________
Bevor Sie aufhören sich körperlich zu betätigen sollten Sie ihren Doktor befragen. Körperliche Inaktivität ist abnormal und gefährlich für Ihre Gesundheit.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Marky



Anmeldungsdatum: 02.09.2004
Beiträge: 1173

BeitragVerfasst am: 04.02.2005, 15:38    Titel: Antworten mit Zitat

Lasst uns darauf anstoßen! happy

Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 04.02.2005, 16:05    Titel: Antworten mit Zitat

@dreael: Den Offtopic-Tag hättste ned schließen müssen, das dürfte noch n bisschen so weiter gehen xD

Herzlichen Glückwunsch auch von mir!
_________________
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 05.02.2005, 17:31    Titel: Antworten mit Zitat

Hallo.

Danke für die vielen Glückwünsche! happy Hab gestern schön gefeiert. lächeln

Viele Grüße!
Sebastian
_________________

Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
helium



Anmeldungsdatum: 10.09.2004
Beiträge: 397
Wohnort: Leverkusen

BeitragVerfasst am: 06.02.2005, 15:38    Titel: Antworten mit Zitat

Ich auch und jetzt habe ich einen Kater.
_________________
Bevor Sie aufhören sich körperlich zu betätigen sollten Sie ihren Doktor befragen. Körperliche Inaktivität ist abnormal und gefährlich für Ihre Gesundheit.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 10.09.2005, 23:14    Titel: Ersetzen in einem String Antworten mit Zitat

Hi AlleMann,
1. ja, ich weiß, daß dies ein sehr alter Beitrag ist, Gruß an jb zwinkern
2. @Sebastian:Nachträglich herzlichen Glühstrumpf..
Ich möchte dir, quasi als verspätetes Geburtstagsgeschenk, meine Replace-Version nicht vorenthalten:
Code:

'Replace für ältere VB-Versionen und FB
Function Replace$(Change$, sFrom$, sTo$)
  Dim sNew$=Change$, i%
  While Instr(sNew$, sFrom$)
    i%=Instr(sNew$, sFrom$)
    if i% then sNew$=Mid$(sNew$, 1, i%-1)+sTo$+Mid$(sNew$, i%+Len(sFrom$))
  Wend
  Replace$=sNew$
End Function

'Und hier mein nicht mehr ganz so kleines Anwendungsbeispiel:

Dim As String HW, Ori
Ori="Hello VB-World?"
?"Original:";Ori
HW = Replace$(Ori, "e", "a")
?"Ersetzung:";HW
HW = Replace$(HW, "World", "Welt")
?"Ersetzung:";HW
HW = Replace$(HW, "V", "F")
?"Ersetzung:";HW
HW = Replace$(HW, "?", "!")
?"Ersetzung:";HW
HW = Replace$(HW, "l", "L")
?"Ersetzung:";HW
?"und weils so gut geklappt hat.."
?"Aus '"+Ori+"' wird '"+Replace$(Replace$(Replace$(Replace$(Ori, "e", "a"), "World", "Welt"), "V", "F"), "?", "!")+"'"
?"STOP: Never change a running program.."
Sleep

Sie ist natürlich aus der www.vbarchiv.net Version entstanden..
..hat aber ein gewisses Etwas..
Um nicht vollends Spaghetti-Code zu produzieren habe ich i% dringelassen, obwohl ich der Meinung bin:
Die Funktion soll funktionieren, sonst hätte sie nicht Funktion werden sollen!
Viele Grüße
ytwinky
_________________
v1ctor hat Folgendes geschrieben:
Yeah, i like INPUT$(n) as much as PRINT USING..
..also ungefähr so, wie ich GOTO..
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
d.j.peters
Gast





BeitragVerfasst am: 10.09.2005, 23:41    Titel: Re: Ersetzen in einem String Antworten mit Zitat

Kiffi hat Folgendes geschrieben:
Hallo,

vielleicht habe ich ja Tomaten auf den Augen, aber ich suche die ganze Zeit
nach einer Möglichkeit, eine Zeichenfolge in einem String durch eine andere
zu ersetzen (Replace()). Habe ich was übersehen?

Danke im voraus & Grüße ... Kiffi


Auch wenn der Thread älter ist es ist ja nie zu spät zwinkern

MID$ gibt es nicht nur als Function sonder auch als Statement.
Mit letzteren kannst du auch Stringteile austauschen / einfügen

http://www.freebasic.net/wiki/wikka.php?wakka=KeyPgMidstatement

Grüsse Joshy
Nach oben
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 11.09.2005, 13:12    Titel: Antworten mit Zitat

Zitat:
1. ja, ich weiß, daß dies ein sehr alter Beitrag ist, Gruß an jb zwinkern
2. @Sebastian:Nachträglich herzlichen Glühstrumpf..


1. Ich schließ mich da dreaels Beitrag neulich an. Alte Beiträge aufzugreifen und noch zu ergänzen ist in keinster Weise verwerflich sondern nur von Nutzen für die Community.
<offtopic>"COLD CASE - Kein Posting ist je vergessen!" lachen </offtopic>

2. Danke! lächeln
_________________

Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Dusky_Joe



Anmeldungsdatum: 07.01.2005
Beiträge: 1007
Wohnort: Regensburg/Oberpfalz

BeitragVerfasst am: 11.09.2005, 16:28    Titel: Antworten mit Zitat

Da wir hier Progger sind, sollte es wohl eher heißen COLD SELECT CASE zwinkern

Ansonsten bleibt mir nix anderes zu sagen als alles Gute!
Du bist jetzt 16 geworden, oder?
_________________
fully biological degradable

Once, the big wave arrives, you've got two ways, you can go:
Either, you ride it, or you don't do.
But, if you don't ride, you'll never know wether you'd have gone wet.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz