AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Stringsuche

Ein Thema von Crowbar · begonnen am 4. Jul 2013 · letzter Beitrag vom 7. Jul 2013
Antwort Antwort
Seite 1 von 2  1 2      
Crowbar

Registriert seit: 17. Jun 2002
43 Beiträge
 
#1

Stringsuche

  Alt 4. Jul 2013, 09:53
Hallo,

ich möchte ein bestimmtes Wort in einem String suchen. Das geht wunderbar mit dem POS-Befehl, aber wenn der String ein weiteres (ähnliches) Wort enthält, gibt es Probleme.

z.B. Ich suche das Wort "customer", der String enthält jedoch auch das Wort "customerType".

Im String steht "test1,test2,customerType,test3,customer,test4 , test5".
Ich möchte die Position des Wortes "customer" herausfinden. Mit dem POS-Befehl gibt er mir jedoch die Position von "customerType" zurück.

Wie kann ich genau dieses Wort ("customer") suchen?

Gruß
Crowbar

Geändert von Crowbar ( 4. Jul 2013 um 09:55 Uhr)
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.159 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: Stringsuche

  Alt 4. Jul 2013, 09:58
Es sind doch einzelne Worte (oder Teile) aus denen der String zusammengebastelt ist. Ist das Trennzeichen (hier ein Komma) denn immer gleich? Dann kannst du es einfach (z.B. in einer TStringList ) aufsplitten lassen und dir jeden einzelnen Wert anschauen:

TStringList anlegen, Delimeter auf deinen String setzen und DelimitedText auf das Trennzeichen (das Komma)
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Stringsuche

  Alt 4. Jul 2013, 09:59
Oder du suchst statt nach "customer" nach "customer,"

Oder du versuchst es über StrUtils.SearchBuf.
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)

Geändert von baumina ( 4. Jul 2013 um 10:03 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#4

AW: Stringsuche

  Alt 4. Jul 2013, 10:06
Oder PosEx statt Pos verwenden und ggf. ab der aktuellen Fundposition einfach weitersuchen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Crowbar

Registriert seit: 17. Jun 2002
43 Beiträge
 
#5

AW: Stringsuche

  Alt 4. Jul 2013, 10:36
Hallo,

ja, das Trennzeichen ist immer gleich.
Die Idee von baumina ist prima.
Oder du suchst statt nach "customer" nach "customer,"...
Vielen Dank!
  Mit Zitat antworten Zitat
Klaus01
Online

Registriert seit: 30. Nov 2005
Ort: München
5.768 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: Stringsuche

  Alt 4. Jul 2013, 11:20
Hallo,

wenn customer dann aber am Ende des Strings steht, folgt kein Komma nach dem Suchstring.
Eine Suche nach customer, würde dann fehlschlagen.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#7

AW: Stringsuche

  Alt 4. Jul 2013, 11:28
Wieso, vorm Suchen an den String ein Komma dranhängen und das Problem ist behoben.
iPos := Pos('customer,',sZeichenfolge + ',');
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#8

AW: Stringsuche

  Alt 4. Jul 2013, 12:09
ich möchte ein bestimmtes Wort in einem String suchen.
Wozu?
Ich frage deshalb weil du möglicherweise ein Problem auf umständliche Weise lösen willst wofür es längst bessere Lösungen gibt.
fork me on Github
  Mit Zitat antworten Zitat
ByTheTime

Registriert seit: 24. Sep 2011
Ort: Frankfurt
297 Beiträge
 
Delphi XE2 Architect
 
#9

AW: Stringsuche

  Alt 7. Jul 2013, 20:44
Hier sind ein paar kleine Funktionen dazu. Eigentlich sollte PosEx ausreichen. DeddyH hat es ja schon genannt. Mal eine andere Frage. Was ist das für eine Zeichenkette? Denn wenn es CommaText ist, könnte man es auch wunderbar in eine ListBox laden und dann hast du jedes Wort als einzelnes Item.
Lukas
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#10

AW: Stringsuche

  Alt 7. Jul 2013, 21:22
Denn wenn es CommaText ist, könnte man es auch wunderbar in eine ListBox laden und dann hast du jedes Wort als einzelnes Item.
Und wenn keine ListBox genutzt werden soll/kann, dann einfach die Funktion explode nehmen von den Schweizern.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:54 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz