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?

Code: Alles auswählen

"Wie kürze ich das bis zum letzten Leerzeichen weg          "
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. :D

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