Bestimmten Teil einer String auschneiden

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
R3booz
Beiträge: 90
Registriert: 01.11.2012 19:28
Computerausstattung: Intel Core I3, 4GB RAM, RADEON HD 6660 1 GDDR5
Kontaktdaten:

Bestimmten Teil einer String auschneiden

Beitrag 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
Rechtschreibfehler sind kostenlos und im Preis inklusive!

http://www.games-table.de.tl/
Version 5.20 LTS
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Bestimmten Teil einer String auschneiden

Beitrag von RSBasic »

RegEx wäre genau das, was du suchst.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
R3booz
Beiträge: 90
Registriert: 01.11.2012 19:28
Computerausstattung: Intel Core I3, 4GB RAM, RADEON HD 6660 1 GDDR5
Kontaktdaten:

Re: Bestimmten Teil einer String auschneiden

Beitrag von R3booz »

Aber wie stell ich das mit Klammern an?
Rechtschreibfehler sind kostenlos und im Preis inklusive!

http://www.games-table.de.tl/
Version 5.20 LTS
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Bestimmten Teil einer String auschneiden

Beitrag 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)
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Bestimmten Teil einer String auschneiden

Beitrag 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
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
Kiffi
Beiträge: 10725
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: Bestimmten Teil einer String auschneiden

Beitrag 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, "]")
a²+b²=mc²
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Bestimmten Teil einer String auschneiden

Beitrag von ts-soft »

Kiffi is the Winner :D
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
R3booz
Beiträge: 90
Registriert: 01.11.2012 19:28
Computerausstattung: Intel Core I3, 4GB RAM, RADEON HD 6660 1 GDDR5
Kontaktdaten:

Re: Bestimmten Teil einer String auschneiden

Beitrag von R3booz »

:lol:

Vielen dank das reicht :allright:

mfg R3booz
Rechtschreibfehler sind kostenlos und im Preis inklusive!

http://www.games-table.de.tl/
Version 5.20 LTS
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8838
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Re: Bestimmten Teil einer String auschneiden

Beitrag 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:
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7039
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: Bestimmten Teil einer String auschneiden

Beitrag 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
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Antworten