Seite 1 von 1

Bestimmten Teil einer String auschneiden

Verfasst: 01.10.2013 18:56
von R3booz
Hallo,

habt ihr auf die schnelle eine Idee wie ich es am einfachsten umsetzten kann wenn ich das hier habe:

Code: Alles auswählen

string.s = "Hallo [weg damit] wie gehts"
und nur das

Code: Alles auswählen

[weg damit]
entfernen will, sprich alles was in eckigen klammern ist.

wie mach ich das am besten?

mfg R3booz

Re: Bestimmten Teil einer String auschneiden

Verfasst: 01.10.2013 18:58
von RSBasic
RegEx wäre genau das, was du suchst.

Re: Bestimmten Teil einer String auschneiden

Verfasst: 01.10.2013 19:10
von R3booz
Aber wie stell ich das mit Klammern an?

Re: Bestimmten Teil einer String auschneiden

Verfasst: 01.10.2013 19:16
von ts-soft

Code: Alles auswählen

Define string.s = "Hallo [weg damit] wie gehts"

Debug Left(string, FindString(string, "[") - 1) + Mid(string, FindString(string, "]") + 1)

Re: Bestimmten Teil einer String auschneiden

Verfasst: 01.10.2013 19:19
von RSBasic

Code: Alles auswählen

EnableExplicit

Define string.s = "Hallo [weg damit] wie gehts"
Define Result$

If CreateRegularExpression(0, "\[.*\]")
  Result$ = ReplaceRegularExpression(0, string, "")
  Debug Result$
Else
  Debug RegularExpressionError()
EndIf

Re: Bestimmten Teil einer String auschneiden

Verfasst: 01.10.2013 19:23
von Kiffi
ich will auch mal! :-)

Code: Alles auswählen

Define string.s = "Hallo [weg damit] wie gehts"

Debug StringField(string, 1, "[") + StringField(string, 2, "]")

Re: Bestimmten Teil einer String auschneiden

Verfasst: 01.10.2013 19:26
von ts-soft
Kiffi is the Winner :D

Re: Bestimmten Teil einer String auschneiden

Verfasst: 01.10.2013 19:28
von R3booz
:lol:

Vielen dank das reicht :allright:

mfg R3booz

Re: Bestimmten Teil einer String auschneiden

Verfasst: 01.10.2013 19:43
von NicTheQuick
Die Pointer-Variante fehlt aber noch!!

Code: Alles auswählen

Procedure.s removeBrackets(input.s)
	Protected *c.Character = @input
	Protected *o.Character = *c
	Protected remove.i = #False
	While *c\c
		If (*c\c = '[')
			remove = #True
		EndIf
		If (Not remove)
			*o\c = *c\c
			*o + SizeOf(Character)
		EndIf
		If (*c\c = ']')
			remove = #False
		EndIf
		*c + SizeOf(Character)
	Wend
	*o\c = 0
	ProcedureReturn input
EndProcedure

string.s = "Hallo [weg damit] wie gehts? - [Scheiße] Gut!"

Debug removeBrackets(string)
:bounce:

Re: Bestimmten Teil einer String auschneiden

Verfasst: 01.10.2013 23:16
von STARGÅTE
Ein .*? im Regex stellt sicher, dass auch mehere [ ] richtig geparst werden.

Code: Alles auswählen

EnableExplicit

Define string.s = "Hallo [weg damit] wie [das auch weg] gehts"
Define Result$

If CreateRegularExpression(0, "\[.*?\]")
  Result$ = ReplaceRegularExpression(0, string, "")
  Debug Result$
Else
  Debug RegularExpressionError()
EndIf