AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

String durchsuchen?

Ein Thema von mo_greene · begonnen am 16. Jun 2008 · letzter Beitrag vom 17. Jun 2008
Antwort Antwort
Seite 1 von 2  1 2   
mo_greene

Registriert seit: 10. Dez 2006
Ort: Berlin
136 Beiträge
 
Turbo Delphi für Win32
 
#1

String durchsuchen?

  Alt 16. Jun 2008, 18:39
Hallo,

ich habe gerade ein kleines Problem.

Ich möchte einen String durchsuchen und ihn aufteilen in Ziffern und Zeichen.

Beispiel:

String = Karotten 100 g

Dann möchte ich diesen String aufteilen in Karotten und 100.

Wie mach ich das am besten?

Vielen Dank!
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: String durchsuchen?

  Alt 16. Jun 2008, 18:43
Pos()/PosEx(), per Stringliste (.Delimiter, .DelimitedText), Explode()
Markus Kinzler
  Mit Zitat antworten Zitat
mo_greene

Registriert seit: 10. Dez 2006
Ort: Berlin
136 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: String durchsuchen?

  Alt 16. Jun 2008, 18:54
Und wie kann ich da sagen, dass ich nach einem beliebigen Buchstaben, also a-z suche?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: String durchsuchen?

  Alt 16. Jun 2008, 18:56
Dann bräuchtest du Regular Expressions
Markus Kinzler
  Mit Zitat antworten Zitat
mo_greene

Registriert seit: 10. Dez 2006
Ort: Berlin
136 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: String durchsuchen?

  Alt 16. Jun 2008, 19:20
Okay, und wie benutze ich die?

Eine Antwort mit mehr als 3-5 Wörtern wäre hilfreich
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

Re: String durchsuchen?

  Alt 16. Jun 2008, 19:22
Schau mal hier: http://www.delphipraxis.net/videos#Stammtisch_2 (Teil 4)
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
Christian18

Registriert seit: 9. Dez 2003
Ort: Hamburg
1.279 Beiträge
 
#7

Re: String durchsuchen?

  Alt 16. Jun 2008, 19:27
Hallo,

ich habe dir da mal ein kleines Beispiel programmiert. Um die Position eines Buchstaben in einem String herrauszufinden, kannst du folgende Function verwenden:

Delphi-Quellcode:
function GetCharPosition(AZeichenkette: String; AZeichen: Char) : Integer;
begin
  Result:=Pos(AZeichen, AZeichenkette);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  ShowMessage(IntToStr(GetCharPosition('Hallo', 'a')));
end;
MFG Christian18
  Mit Zitat antworten Zitat
mo_greene

Registriert seit: 10. Dez 2006
Ort: Berlin
136 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: String durchsuchen?

  Alt 16. Jun 2008, 19:31
Wenn ich auf das n-te Element eines Arrays zugreifen möchte und in diesem Element auf das m-te Zeichen, mach ich das dann so?

Array[n][m] ?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

Re: String durchsuchen?

  Alt 16. Jun 2008, 19:32
Neue Frage, neuer Thread bitte.
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
Alt 16. Jun 2008, 19:34     Erstellt von Christian18
Dieser Beitrag wurde von SirThornberry gelöscht. - Grund: Gehört nicht zum Thema -> Neuer Thread. Wenn wir hier trotzdem die Antworten auf neue Fragen posten sorgt das am Ende dafü
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#10

Re: String durchsuchen?

  Alt 16. Jun 2008, 19:44
Zur Ursprünglichen Frage - Man kann auf die einzelnen Zeichen eines Strings wie folgt zugreifen:
Buchstabe := MeinString[IndexDesBuchstaben]; An welcher Stelle du dann etwas trennst oder noch was du genau suchst ist immer die Schwierigkeit. Am besten geht man so ran das man sich überlegt wodurch man selbst feststellt das etwas nicht mehr dazu gehört.

In deinem Beispiel auf meine Vorgehensweise bezogen:
"Karotten 100 g"
Da seh ich "einen Gegenstand" und danach eine Zahl die ich in der Verbindung gar nicht kenne. Also wäre meine erste Herangehensweise einfach den String bis zur ersten Ziffer zu durchsuchen. Alles vor der Ziffer scheint dann der Text zu sein. Sobald hinter der ersten gefundenen Ziffer keine weitere Ziffer kommt ist die Zahl (also die 100) zu Ende.

Jetzt könnte aber noch so ein Beispiel kommen:
"1000füßler 100 Stück"

Bei dem Beispiel sag ich mir dann, es wäre besser den Sting von hinten durchzugehen. Ganz hinten kommt immer die Einheit, davor dann eine Zahl und davor die Bezeichnung. Wenn man das ganze so sieht passiert später auch kein Missgeschick wenn der Begriff vorn aus 2 Wörtern besteht weil man ja von Hinten anfängt
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 15:52 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