Seite 1 von 1
String bis zum letzten Leerzeichn kürzen
Verfasst: 29.07.2015 22:14
von gnaps
Hallo Forum,
ich habe einen String z.B. "Wie kürze ich das bis zum letzten Leerzeichen weg wegmit"
wie kürze ich den String bis zum letzte Leerzeichen
Ergebnis = "Wie kürze ich das bis zum letzten Leerzeichen weg "
Ich komme einfach nicht auf sie Lösung
gruß
gnaps
Re: String bis zum letzten Leerzeichn kürzen
Verfasst: 29.07.2015 22:19
von RSBasic
gnaps hat geschrieben:ich habe einen String z.B. "Wie kürze ich das bis zum letzten Leerzeichen weg wegmit"
Ich versteh deine Beispiel-Zeichenkette nicht. Ist "wegmit" am Ende richtig oder war das ein Kopierfehler?
Meinst du vielleicht sowas?
Wenn ja, dann:
Code: Alles auswählen
Debug RTrim("Wie kürze ich das bis zum letzten Leerzeichen weg ")
Wenn nicht, bitte ein neues Beispiel posten.
Re: String bis zum letzten Leerzeichn kürzen
Verfasst: 29.07.2015 22:25
von gnaps
Hi,
das ist kein Kopierfehler.
Die Zeichen "wegmit" sollen gelöscht werden da vor dem "wegmit" ein Leerzeichen ist
string = "Wie kürze ich das bis zum letzten Leerzeichen weg wegmit"
Ergebnis = "Wie kürze ich das bis zum letzten Leerzeichen weg "
also das wegmit soll weg
gruß
gnaps
Re: String bis zum letzten Leerzeichn kürzen
Verfasst: 29.07.2015 22:28
von RSBasic
So?
Code: Alles auswählen
Debug ReplaceString("Wie kürze ich das bis zum letzten Leerzeichen weg wegmit", "wegmit", "")
Re: String bis zum letzten Leerzeichn kürzen
Verfasst: 29.07.2015 22:33
von NicTheQuick
Wahrscheinlich soll es egal sein, was das letzte Wort ist. Also wie gesagt: Alles hinter dem letzten Leerzeichen soll weg. Ganz einfach. Bin aber grad am Handy und kann hier jetzt schlecht was programmieren.
Re: String bis zum letzten Leerzeichn kürzen
Verfasst: 29.07.2015 22:35
von RSBasic
Code: Alles auswählen
EnableExplicit
Define OriginalString$ = "Wie kürze ich das bis zum letzten Leerzeichen weg wegmit"
Debug ReplaceString(OriginalString$, StringField(OriginalString$, CountString(OriginalString$, " ")+1, " "), "")
Kann man bestimmt besser machen.

Re: String bis zum letzten Leerzeichn kürzen
Verfasst: 29.07.2015 22:58
von gnaps
Hi,
ja, ich habe eine Variable Text.s in der stehen im Programmablauf verschiedenen Texte drin.
Text.s = "Wie kürze ich das bis zum letzten Leerzeichen weg wegmit "
dann gibts einen Button und wenn dieser geklickt wird soll der String bis zum vorletzten Leerzeichen gekürzt werden.
klick auf Button
Ergebnis = Text.s = "Wie kürze ich das bis zum letzten Leerzeichen weg "
klick auf Button
Ergebnis = Text.s = "Wie kürze ich das bis zum letzten Leerzeichen "
klick auf Button
Ergebnis = Text.s = "Wie kürze ich das bis zum letzten "
ACHTUNG es steht am Schluss immer ein Leerzeichen im String, also ich muss dann bis zum vorletzte String kürzen.
Das soll eine einfache UNDO-Funktion werden.
usw.
Gruß
gnaps
Re: String bis zum letzten Leerzeichn kürzen
Verfasst: 29.07.2015 23:04
von RSBasic
Man könnte es auch so machen:
Code: Alles auswählen
EnableExplicit
Define OriginalString$ = "Wie kürze ich das bis zum letzten Leerzeichen weg wegmit "
Procedure.s RemoveLastWord(String$)
ProcedureReturn Mid(String$, 1, Len(String$)-FindString(ReverseString(String$), " ", 2)+1)
EndProcedure
OriginalString$ = RemoveLastWord(OriginalString$)
Debug OriginalString$
OriginalString$ = RemoveLastWord(OriginalString$)
Debug OriginalString$
OriginalString$ = RemoveLastWord(OriginalString$)
Debug OriginalString$
OriginalString$ = RemoveLastWord(OriginalString$)
Debug OriginalString$
OriginalString$ = RemoveLastWord(OriginalString$)
Debug OriginalString$
OriginalString$ = RemoveLastWord(OriginalString$)
Debug OriginalString$
OriginalString$ = RemoveLastWord(OriginalString$)
Debug OriginalString$
OriginalString$ = RemoveLastWord(OriginalString$)
Debug OriginalString$
OriginalString$ = RemoveLastWord(OriginalString$)
Debug OriginalString$
Re: String bis zum letzten Leerzeichn kürzen
Verfasst: 29.07.2015 23:34
von gnaps
HI,
hab mal rum gemacht, bekomme aber das letzte Wort nicht weg.
Code: Alles auswählen
text.s = "Wie kürze ich das bis zum letzten Leerzeichen weg wegmit "
If OpenWindow(0,100,100,400,100,"Kürzen",#PB_Window_SystemMenu,0)
ButtonGadget(1,30,30,60,30,"Kürzen")
TextGadget(2,30,70,280,20,text.s)
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow ;x wurde gedrückt
End
Case #PB_Event_Gadget
Select EventGadget()
Case 1
text.s= Mid(text.s, 1, Len(text.s)-FindString(ReverseString(text.s), " ", 2)+1)
SetGadgetText(2,text.s)
Debug text.s
EndSelect
EndSelect
ForEver
EndIf
Wie weiter ???
Banal, aber ich brauchs halt
Gruß
gnaps
Re: String bis zum letzten Leerzeichn kürzen
Verfasst: 29.07.2015 23:37
von gnaps
Hi,
Ok, Ok,
letztes Wort ist nicht schlimm, habe einen Button der sowieso den ganzen Text löschen kann.
Danke an alle, war wie immer sehr Hilfreich und megaschell die Lösung.
Danke an alle.
Gruß
gnaps