Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Textdatei mit Leerzeichen f. mySQL Einspielung aufbereiten

Frage Entwicklung PHP

Mitglied: sascha0174

sascha0174 (Level 1) - Jetzt verbinden

10.11.2006, aktualisiert 22.06.2007, 6840 Aufrufe, 6 Kommentare

Leerzeichen entfernen, in CSV-Format konvertieren um in mySQL-DB ein zu spielen

Hi @ All,

ich hab ein kleines Verständnisproblem, da ich auch ziemlich neu bin in der php-Materie. Ich hoffe jemand kann mir helfen!

Zum Problem:
Ich habe ein Textfile mit Hunderten von Zeilen je mit einer festen Länge von 109 Zeichen.

Die relevanten Daten innerhalb des Files sehen z.B. wie folgt aus:

_-_-_- 01010101 _-_- 12345 _-_- G -_-_-_-_-_-_-_-_-_-_-_-_-_-_ 1234 1234 _-_-_-_-_-_-_ 52 __ 1234

_-_-_ 02020202 __ 56789 _-_-_ I _-_-_-_-_-_-_ 1234 1234567890 __-_-_-_-_-_-_-__ 80 ____ 1234
_-_-_- 03030303 _-_ 00051 _-_ 1234 _-_-_-_-__-_-_-_ 0 _-_-_-_-__ 01234567890 3456 __-_-_-_-_-_-__ 00 ___ 1020

Die Unterstriche& Minus(se) sollen nur die verschiedenen Anzahlen der Leerzeichen verdeutlichen!

Nun mein Problem, mit trim() respektive ltrim() oder rtrim() bekomme ich ja nur die Anfangs-, Links- oder Rechtsbündigen Leerzeichen weg. Wie kann ich denn per Schleife solange die Leerzeichen innerhalb des Strings entfernen bis ich immer nur noch ein Leerzeichen übrig habe, welches ich dann danach durch ein Semikolon ersetze.

Ich muß die Datei quasi mySQL-tauglich machen und das sollte möglichst in naher Zukunft dann mehr oder weniger automatisch ablaufen anstatt die Datei jedesmal in Textpad oder Excel o.ä. zu ziehen und dort auf zu bereiten.

Vielen Dank im Voraus für eure Hilfe und meine Verständnisprobleme bei php.

Greeetz, Sacha0174.
Mitglied: blubb
10.11.2006 um 18:45 Uhr
Die Unterstriche& Minus(se) sollen nur die verschiedenen Anzahlen der Leerzeichen verdeutlichen!

Sollte man dann nicht erstmal alle _ und - durch Leerzeichen ersetzen? (preg_replace)

Wie kann ich denn per Schleife solange die Leerzeichen innerhalb des Strings entfernen bis ich immer nur
noch ein Leerzeichen übrig habe, welches ich dann danach durch ein Semikolon ersetze.

Weißt du denn auch, welches Leerzeichen bleiben soll? Es sind ja mehrere vorhanden! Naja, geht evtl. mit substr_replace.
Bitte warten ..
Mitglied: erikro
11.11.2006 um 00:41 Uhr
Hallo,

das Zauberwort, nach dem Du suchst, heißt regulärer Ausdruck oder regular expression. Und nun ist Google erstmal Dein Freund.

Liebe Grüße

Erik
Bitte warten ..
Mitglied: sascha0174
13.11.2006 um 10:28 Uhr
@blubb:
Alle _ und - sind von mir nachträglich eingesetzt worden um zu verdeutlichen was ich da meine. In meiner Textdatei sind es ausschliesslich Leerzeichen.

Natürlich weiß ich welche Leerzeichen bleiben sollen, quasi immer 1 zwischen den "Werten", um dieses Leerzeichen danach durch ein Semikolon auszutauschen.

z.B.:
zuvor:
_-_-_- 01010101 _-_- 12345 _-_- G -_-_-_-_-_-_-_-_-_-_-_-_-_-_ 1234 1234 _-_-_-_-_-_-_ 52 1234
danach:
01010101;12345;G;1234;1234;52;1234;



@ erikro:

Vielen Dank für das Schlüsselwort, dann werd ich mich dort mal versuchen durch zu kämpfen!
Bitte warten ..
Mitglied: blubb
21.11.2006 um 19:04 Uhr
Falls es noch aktuell ist und du selbst noch keine Lösung gefunden hast (war länger nich online)...

Alle _ und - sind von mir nachträglich eingesetzt worden um zu verdeutlichen was ich da meine. In meiner Textdatei sind es ausschliesslich Leerzeichen.
Na, dann hatte ich ja recht: ;)
preg_replace("! +!",";",$file_get_contents); ...
Bitte warten ..
Mitglied: sascha0174
22.11.2006 um 08:57 Uhr
@ blubb:

Vielen Dank für den Lösungsvorschlag, hab ich aber auch schon so aufgebaut! ;)
Hättest du nicht geantwortet, so hätte ich vergessen dieses Thema zu schliessen. Thx.


Damit kann dieses Thema hier als gelöst und geschlossen angesehen werden!

Grüße, sascha0174
Bitte warten ..
Mitglied: masterG
22.06.2007 um 14:06 Uhr
Dann markiere ich den Thread als geschlossen!

masterG
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Sticky Notes - Autostart unterbinden

Tipp von Pedant zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
gelöst Schreiben eines Strings mit Leerzeichen in eine Datei (6)

Frage von c20082005 zum Thema Batch & Shell ...

Microsoft Office
gelöst Excel VBA: Automatische Konvertierung von Textdatei (.txt) zu Exceldatei (.xlsx) (7)

Frage von Booster07 zum Thema Microsoft Office ...

Ubuntu
gelöst Wie kann man es tun? Alle Zeilen mit 2 und mehr Leerzeichen entfernen (1)

Frage von takitano zum Thema Ubuntu ...

Datenbanken
MySQL - Mehrere Instanzen

Frage von ForgottenRealm zum Thema Datenbanken ...

Heiß diskutierte Inhalte
Batch & Shell
gelöst Base64 Decode (Batch,VBS) (26)

Frage von clragon zum Thema Batch & Shell ...

Flatrates
DeutschlandLAN der Telekom - welche internen IPs? (19)

Frage von qualidat zum Thema Flatrates ...