AGB  ·  Datenschutz  ·  Impressum  







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

Wörter in einem String isolieren

Ein Thema von S20000 · begonnen am 16. Mai 2008 · letzter Beitrag vom 19. Mai 2008
Antwort Antwort
Seite 1 von 2  1 2      
S20000

Registriert seit: 22. Apr 2008
84 Beiträge
 
#1

Wörter in einem String isolieren

  Alt 16. Mai 2008, 12:56
Hallo zusammen,

ich habe folgendes Problem.
Ich habe eine StringListe mit einzelnen Strings(Zeilen) der Form:


Name1 Name2 Name3 Name4 Name5 Name6

Name 1-3 haben 3 Leerzeichen zwischen den Wörtern, Name 4 und 5 - 4 Leerzeihen,
und Name 5 und 6 haben 2 Leerzeichen.

Nun möchte ich jeden String in eine Liste Auftrennen:

Name1
Name2
...
Name6

Ich möchte also jedes Wort vereinzeln. (Ziel des ganzen ist später
das Abspeichern jeder Zeile in einem Record mit Name1 Name2....,
dazu muss ich aber die Elemente voneinander isolieren.

Ich habe schon versucht die Aufgabe mit StrSplit zu lösen,
damit kann ich aber nur auf einen Char abfragen. Z.B. " ".
Ich habe aber mehrere Leerzeichen dazwischen?!

Gruß
Sebastian
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Wörter in einem String isolieren

  Alt 16. Mai 2008, 12:58
Hai S20000,

schreibe Dir doch eine kleine Funktion die die unnötigen Leerzeichen aus dem String entfernt.
Bzw. Mit StringRepleace die vier bzw. zwei Leerzeichen durch eines ersetzen.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#3

Re: Wörter in einem String isolieren

  Alt 16. Mai 2008, 13:00
Dann mache den Rest mit "Trim". -> F1
Gruß
Hansa
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Wörter in einem String isolieren

  Alt 16. Mai 2008, 13:02
rim entfernt aber nur Leerzeichen am Anfang und Ende eines Strings. Ich wüsste nicht, wie das ihm helfen soll.
Markus Kinzler
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#5

Re: Wörter in einem String isolieren

  Alt 16. Mai 2008, 13:13
st : die Zeile, um die es geht. Er soll Trim (st) machen. Dann sind eventuelle Leerzeichen rechts und links schon mal weg. Dann bis zum nächsten Leerzeichen lesen. Das gelesene mit StringList.Add festhalten und mit delete (length (Wort) aus st löschen). Kommt jetzt nur ein Leerzeichen oder 44 ? Egal. Trim (st) usw. Ob das einer versteht ? No Time.
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.763 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Wörter in einem String isolieren

  Alt 16. Mai 2008, 13:14
Wie wäre es mit einer Routine, die durch den String läuft und jede Folge von nicht Leerzeichen in eine Stringliste kopiert? Das müsste doch einfach zu machen sein.

Edit: Hansa das ist wirklich zu einfach , und damit ist es wirklich trivial umzusetzen.

Sherlock
Oliver
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#7

Re: Wörter in einem String isolieren

  Alt 16. Mai 2008, 13:24
Yes indead. Für überflüssige Leerzeichen ist immer Trim zuständig !
Gruß
Hansa
  Mit Zitat antworten Zitat
guidok

Registriert seit: 28. Jun 2007
417 Beiträge
 
#8

Re: Wörter in einem String isolieren

  Alt 16. Mai 2008, 13:36
Ich verwende für solche Sachen meist die Eigenschaften DelimitedText, Delimiter und StrictDelimiter einer TStringList.

Einfach den String der Eigenschaft DelimitedText zuweisen und über Strings[Index] auslesen.
  Mit Zitat antworten Zitat
S20000

Registriert seit: 22. Apr 2008
84 Beiträge
 
#9

Re: Wörter in einem String isolieren

  Alt 18. Mai 2008, 22:41
Hallo zusammen,

das aufsplitten der Liste habe ich jetzt hinbekommen.
Ich hätte noch eine weitere Frage.

Ist es möglich aus einer TXT-Datei automatisch eine
Tabelle zu erzeugen? Mit liegt eine TXT Datei vor,
die pro Zeile zusammengehörende Daten hat.

z.B.:

Nachname1 Vorname1 Wohnort1 Straße1 Hausnummer1 TelNummer1
Nachname2 Vorname2 Wohnort2 Straße2 Hausnummer2 TelNummer2
Nachname3 Vorname3 Wohnort3 Straße3 Hausnummer3 TelNummer3 Handynummer3
..
..
..

Am liebsten würde ich jetzt jede Zeile in einem eigenen Record speichern.
Jede Person in der Liste bekommt einen eigenen Record.
Daher die Frage, ob man am besten eine Tabelle o.ä. anlegt?!
Oder wie würdet ihr die Informationen aus der Liste auslesen?

Gruß
Sebastian
  Mit Zitat antworten Zitat
Benutzerbild von everdream
everdream

Registriert seit: 22. Feb 2007
Ort: Hiddenhausen
192 Beiträge
 
Delphi 2005 Personal
 
#10

Re: Wörter in einem String isolieren

  Alt 19. Mai 2008, 01:41
Du könntest deine Tabelle in eine XML-Datei speichern. Dazu gibt es beim Delphitreff ein übersichtliches Tutorial.
Max
"Das Ziel ist im Weg!"
  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 11:31 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