Funktion Replacestring() und Removestring()

In dieser Linux-Ecke dürfen nur Themen rund um Linux geschrieben werden.
Beiträge, die plattformübergreifend sind, gehören ins 'Allgemein'-Forum.
Benutzeravatar
Ausprobieren
Beiträge: 23
Registriert: 18.04.2016 15:26

Funktion Replacestring() und Removestring()

Beitrag von Ausprobieren »

Mit

Code: Alles auswählen

debug Replacestring("Ha, Ha","Ha","Hu",1,1)

bekomme ich
[11:29:10] [Debug] Hu, Hu

und mit

Code: Alles auswählen

debug Removestring("Ha, Ha","Ha",1,1)
bekomme ich
[11:31:41] [Debug] ,

Meine Frage ist nun: Kann das jemand bestätigen?
Purebasic V 5.62 x64 - Linux Mint Sylvia Mate x64 - Win 7 Pro x86
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Funktion Replacestring() und Removestring()

Beitrag von RSBasic »

Ja, bei mir sind es die gleichen Ergebnisse. Aber wo ist der Fehler? Oder wolltest du nur wissen, ob wir die gleichen Ergebnisse bekommen?
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8675
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 32 GB DDR4-3200
Ubuntu 22.04.3 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken
Kontaktdaten:

Re: Funktion Replacestring() und Removestring()

Beitrag von NicTheQuick »

Kann ich bestätigen.

@RSBasic: AnzahlVorkommen ist auf 1 gesetzt, demnach sollte das "Ha" nur einmal ersetzt bzw. gelöscht werden.

Demnach sieht es für mich aus wie ein Bug.

Komisch ist auch, dass hier "Ha, Hu" herauskommt:

Code: Alles auswählen

 Debug ReplaceString("Ha, Ha","Ha","Hu",1,2) 
Und hier ein Leerstring:

Code: Alles auswählen

Debug ReplaceString("Ha, Ha","Ha","Hu",2,1)
Bild
Benutzeravatar
Ausprobieren
Beiträge: 23
Registriert: 18.04.2016 15:26

Re: Funktion Replacestring() und Removestring()

Beitrag von Ausprobieren »

NicTheQuick hat geschrieben:Kann ich bestätigen.

@RSBasic: AnzahlVorkommen ist auf 1 gesetzt, demnach sollte das "Ha" nur einmal ersetzt bzw. gelöscht werden.

Demnach sieht es für mich aus wie ein Bug.

Komisch ist auch, dass hier "Ha, Hu" herauskommt:

Code: Alles auswählen

 Debug ReplaceString("Ha, Ha","Ha","Hu",1,2) 
Und hier ein Leerstring:

Code: Alles auswählen

Debug ReplaceString("Ha, Ha","Ha","Hu",2,1)
Genau, ich wollte wissen ob das ein Bug ist. Wer gibt es weiter???
Purebasic V 5.62 x64 - Linux Mint Sylvia Mate x64 - Win 7 Pro x86
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Funktion Replacestring() und Removestring()

Beitrag von RSBasic »

NicTheQuick hat geschrieben:@RSBasic: AnzahlVorkommen ist auf 1 gesetzt, demnach sollte das "Ha" nur einmal ersetzt bzw. gelöscht werden.

Demnach sieht es für mich aus wie ein Bug.
Hm, sicher? AnzahlVorkommen wird doch garnicht gesetzt. Es werden nur die Parameter Mode und Startposition gesetzt. Deshalb ist es korrekt.
String$ = RemoveString(String$, LöschString$ [, Modus [, StartPosition [, AnzahlVorkommen]]])
Mit dem Zusatzparameter AnzahlVorkommen sieht es dann so aus und arbeitet ebenfalls korrekt:

Code: Alles auswählen

Debug ReplaceString("Ha, Ha","Ha","Hu",1,1,1)
Debug RemoveString("Ha, Ha","Ha",1,1,1)
Hu, Ha
, Ha
NicTheQuick hat geschrieben:Komisch ist auch, dass hier "Ha, Hu" herauskommt:

Code: Alles auswählen

 Debug ReplaceString("Ha, Ha","Ha","Hu",1,2) 
Ja liegt daran, dass du die Startposition auf 2 gesetzt hast.
NicTheQuick hat geschrieben:Und hier ein Leerstring:

Code: Alles auswählen

Debug ReplaceString("Ha, Ha","Ha","Hu",2,1)
Ja liegt daran, dass du den Modus auf 2 gesetzt hast, aber für 2 gibt es keine Konstante. Entweder 0 (#PB_String_CaseSensitive) oder 1 (#PB_String_NoCase).
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8675
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 32 GB DDR4-3200
Ubuntu 22.04.3 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken
Kontaktdaten:

Re: Funktion Replacestring() und Removestring()

Beitrag von NicTheQuick »

Hahaha :lol:

Oh Gott wie peinlich :oops:
Bild
Benutzeravatar
Kiffi
Beiträge: 10620
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: Funktion Replacestring() und Removestring()

Beitrag von Kiffi »

RSBasic hat geschrieben:AnzahlVorkommen wird doch garnicht gesetzt. Es werden nur die Parameter Mode und Startposition gesetzt. Deshalb ist es korrekt.
der Klassiker! :wink:
Hygge
Benutzeravatar
mk-soft
Beiträge: 3695
Registriert: 24.11.2004 13:12
Wohnort: Germany

Re: Funktion Replacestring() und Removestring()

Beitrag von mk-soft »

So mal als Tipp :mrgreen:

Bei der PB-IDE in der Statusbar steht die Funktion und deren Parameter.
Zeigt sogar an welchen Parameter gerade der Cursor steht...
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Benutzeravatar
Ausprobieren
Beiträge: 23
Registriert: 18.04.2016 15:26

Re: Funktion Replacestring() und Removestring()

Beitrag von Ausprobieren »

RSBasic hat geschrieben:
NicTheQuick hat geschrieben:@RSBasic: AnzahlVorkommen ist auf 1 gesetzt, demnach sollte das "Ha" nur einmal ersetzt bzw. gelöscht werden.

Demnach sieht es für mich aus wie ein Bug.
Hm, sicher? AnzahlVorkommen wird doch garnicht gesetzt. Es werden nur die Parameter Mode und Startposition gesetzt. Deshalb ist es korrekt.
String$ = RemoveString(String$, LöschString$ [, Modus [, StartPosition [, AnzahlVorkommen]]])
Mit dem Zusatzparameter AnzahlVorkommen sieht es dann so aus und arbeitet ebenfalls korrekt:

Code: Alles auswählen

Debug ReplaceString("Ha, Ha","Ha","Hu",1,1,1)
Debug RemoveString("Ha, Ha","Ha",1,1,1)
Hu, Ha
, Ha
NicTheQuick hat geschrieben:Komisch ist auch, dass hier "Ha, Hu" herauskommt:

Code: Alles auswählen

 Debug ReplaceString("Ha, Ha","Ha","Hu",1,2) 
Ja liegt daran, dass du die Startposition auf 2 gesetzt hast.
NicTheQuick hat geschrieben:Und hier ein Leerstring:

Code: Alles auswählen

Debug ReplaceString("Ha, Ha","Ha","Hu",2,1)
Ja liegt daran, dass du den Modus auf 2 gesetzt hast, aber für 2 gibt es keine Konstante. Entweder 0 (#PB_String_CaseSensitive) oder 1 (#PB_String_NoCase).
Stimmt! Danke für den Hinweis. ;-)
Purebasic V 5.62 x64 - Linux Mint Sylvia Mate x64 - Win 7 Pro x86
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8675
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 32 GB DDR4-3200
Ubuntu 22.04.3 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken
Kontaktdaten:

Re: Funktion Replacestring() und Removestring()

Beitrag von NicTheQuick »

Oh Gott. Du musst doch nicht so viel zitieren. :lol:
Bild
Antworten