Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Kiffi
Anmeldungsdatum: 04.02.2005 Beiträge: 8
|
Verfasst am: 04.02.2005, 10:01 Titel: Ersetzen in einem String |
|
|
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 |
|
|
Sebastian Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
Verfasst am: 04.02.2005, 13:01 Titel: |
|
|
Hallo.
Soweit ich weiß, gibt es das nicht in FB. Das ist ein spezifischer Befehl aus VisualBasic.
Hier ein Replace-Code für dich...
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!!! (Und das an meinem Geburtstag... ) _________________
Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen! |
|
Nach oben |
|
|
Kiffi
Anmeldungsdatum: 04.02.2005 Beiträge: 8
|
Verfasst am: 04.02.2005, 13:40 Titel: |
|
|
Hallo Sebastian,
> Hier ein Replace-Code für dich...
vielen Dank für Deine schnelle Hilfe
und herzlichen Glückwunsch zu Deinem Geburtstag!
Grüße ... Kiffi |
|
Nach oben |
|
|
dreael Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 2511 Wohnort: Hofen SH (Schweiz)
|
Verfasst am: 04.02.2005, 14:42 Titel: |
|
|
<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 |
|
|
helium
Anmeldungsdatum: 10.09.2004 Beiträge: 397 Wohnort: Leverkusen
|
Verfasst am: 04.02.2005, 15:22 Titel: |
|
|
@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 |
|
|
Marky
Anmeldungsdatum: 02.09.2004 Beiträge: 1173
|
Verfasst am: 04.02.2005, 15:38 Titel: |
|
|
Lasst uns darauf anstoßen!
|
|
Nach oben |
|
|
MisterD
Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 04.02.2005, 16:05 Titel: |
|
|
@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 |
|
|
Sebastian Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
|
helium
Anmeldungsdatum: 10.09.2004 Beiträge: 397 Wohnort: Leverkusen
|
Verfasst am: 06.02.2005, 15:38 Titel: |
|
|
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 |
|
|
ytwinky
Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
|
Verfasst am: 10.09.2005, 23:14 Titel: Ersetzen in einem String |
|
|
Hi AlleMann,
1. ja, ich weiß, daß dies ein sehr alter Beitrag ist, Gruß an jb
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 |
|
|
d.j.peters Gast
|
Verfasst am: 10.09.2005, 23:41 Titel: Re: Ersetzen in einem String |
|
|
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
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
|
Verfasst am: 11.09.2005, 13:12 Titel: |
|
|
Zitat: | 1. ja, ich weiß, daß dies ein sehr alter Beitrag ist, Gruß an jb
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!" </offtopic>
2. Danke! _________________
Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen! |
|
Nach oben |
|
|
Dusky_Joe
Anmeldungsdatum: 07.01.2005 Beiträge: 1007 Wohnort: Regensburg/Oberpfalz
|
Verfasst am: 11.09.2005, 16:28 Titel: |
|
|
Da wir hier Progger sind, sollte es wohl eher heißen COLD SELECT CASE
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 |
|
|
|