Hallo,
ich habe eine CSV von einem Lieferanten bekommen, aber der Import in unseren Shop scheitert an eckigen Klammern, bzw. ich brauche die Klammern nicht sondern nur den Text drumrum.
In allen Textbeschreibungen gibt es
Text bla bla bla <Blödsinn vom Lieferanten> Text Text Text
Ich möchte nur in allen Tabellen den <Blödsinn> samt Klammern löschen, damit es keine Probleme beim Import gibt.
Weiß wer Rat, wie man in Excel das bewerkstelligt?
Suchen und Ersetzen <*> ersetzen in nix oder Leerzeichen oder Löschen klappt nicht...
Gruß
Excel: Text in Klammern löschen
Re: Excel: Text in Klammern löschen
Wenn es eine Text CSV ist, würde ich ein VB Script drüberlaufen lassen.
Damit ist das mit einem Doppelklick erledigt und du bist super flexibel
Damit ist das mit einem Doppelklick erledigt und du bist super flexibel
Re: Excel: Text in Klammern löschen
die CSV mit einem Editor öffnen der Regex kann (zb Notepad++) und dann einfach mit Suchen/Ersetzen...
Re: Excel: Text in Klammern löschen
Hab mal das hier auf die Schnelle gefunden
Das entfernt alle Klammern, kannst ja alle anderen Klammerpaare rausnehmen, also
arrBrackets = Array("<>")
https://administrator.de/forum/klammer ... 75112.html
Das entfernt alle Klammern, kannst ja alle anderen Klammerpaare rausnehmen, also
arrBrackets = Array("<>")
Code: Alles auswählen
'Ein- und Ausgabedatei hier eintragen
strInFile = "Test.txt"
strOutFile = "Test neu.txt"
'Alle Arten von Klammern
arrBrackets = Array("()", "[]", "{}", "<>")
Const ForReading = 1
'Das Klammer-Array tauglich machen
'als Suchmuster für Reguläre Ausdrücke.
'.* steht für alle Zeichen, die zwischen
'den Klammern stehen, die Klammern
'müssen mit \ escaped werden, da sie
'zur Syntax von Regulären Ausdrücken gehören.
' {0,1} bewirkt, dass zusätzlich zu der zu
'löschenden Klammer auch noch EIN
'nachfolgendes Leerzeichen gelöscht wird,
'wenn es denn vorhanden ist.
For I = 0 To UBound(arrBrackets)
arrBrackets(I) = Replace(arrBrackets(I), "<>", "<.*> {0,1}")
Next
'Dateisystemobjekt erzeugen
Set objFSO = CreateObject("Scripting.FileSystemObject")
'Eingabedatei öffnen, auslesen und wieder schließen
Set objInFile = objFSO.OpenTextFile(strInFile, ForReading, False)
strContent = objInFile.ReadAll
objInFile.Close
'Objekt für Reguläre Ausdrücke erzeugen und einstellen,
'dass alle Fundstellen berücksichtigt werden sollen
Set objRegExp = New RegExp
objRegExp.Global = True
'Alle Klammerarten suchen und ersetzen
For Each strBrackets In arrBrackets
objRegExp.Pattern = strBrackets
strContent = objRegExp.Replace(strContent, "")
Next
'Ausgabedatei öffnen und
'den veränderten Dateiinhalt in neue Datei schreiben
'Ausgabedatei schließen
Set objOutFile = objFSO.CreateTextFile(strOutFile, True)
objOutFile.Write strContent
objOutFile.Close
- Xantiva
- PLUS-Mitglied
- Beiträge: 4047
- Registriert: 22. Okt 2010 17:52
- Land: Deutschland
- Firmenname: Xantiva.de
- Branche: Entwickler, aber auch selber Seller!
- Kontaktdaten:
Re: Excel: Text in Klammern löschen
Kannst Du sicherstellen, dass im restlichen Text keine weitern spitzen Klammern vorkommen können? Dann einfach die Position der Klammer suchen und den retlichen linken und den rechten Teil wieder verketten?
mein Bastelshop: basteln-selbermachen.de
Was soll die Plus - Mitgliedschaft hier im Forum?
TrackingMailProvider - anonymisierte Mailadressen für die Versanddienstleister
Was soll die Plus - Mitgliedschaft hier im Forum?
TrackingMailProvider - anonymisierte Mailadressen für die Versanddienstleister
Re: Excel: Text in Klammern löschen
Nee, mit Links und rechts geht das nicht.
In den Klammern sind irgendwelche Verweise auf andere Artikel drin, die in der Lieferantenwawi was anzeigt. Did sind überall verschieden.
Aber mit dem Link oben kann ich mich mal beschäftigen. Mit notepad ++ hatte ich es probiert, ging nicht.
In den Klammern sind irgendwelche Verweise auf andere Artikel drin, die in der Lieferantenwawi was anzeigt. Did sind überall verschieden.
Aber mit dem Link oben kann ich mich mal beschäftigen. Mit notepad ++ hatte ich es probiert, ging nicht.
- Xantiva
- PLUS-Mitglied
- Beiträge: 4047
- Registriert: 22. Okt 2010 17:52
- Land: Deutschland
- Firmenname: Xantiva.de
- Branche: Entwickler, aber auch selber Seller!
- Kontaktdaten:
Re: Excel: Text in Klammern löschen
Wenn Dein Text in A1 steht:
Eingabe: Text bla bla bla <Blödsinn vom Lieferanten> Text Text Text
Ergebnis: Text bla bla bla Text Text Text
Code: Alles auswählen
=VERKETTEN(LINKS(A1;FINDEN("<";A1)-1);RECHTS(A1;LÄNGE(A1)-FINDEN(">";A1)-1))
Ergebnis: Text bla bla bla Text Text Text
mein Bastelshop: basteln-selbermachen.de
Was soll die Plus - Mitgliedschaft hier im Forum?
TrackingMailProvider - anonymisierte Mailadressen für die Versanddienstleister
Was soll die Plus - Mitgliedschaft hier im Forum?
TrackingMailProvider - anonymisierte Mailadressen für die Versanddienstleister
Re: Excel: Text in Klammern löschen
Das geht imho über regular Expression. Ich nutze da oft Formeln in Google Tabellen, allerdings kommen dir Formeln vom Coder.
Re: Excel: Text in Klammern löschen
https://coding.tools/regex-replace
Bei Regular Expression " <.*?> " eingeben (ohne die Anfuhrungszeichen. Leerzeichen vorne und hinten wichtig, um nicht später 3 Leehrzeichen zu haben)
Bei Replace To ein Leerzeichen eingeben.
Text in das grosse Feld eingeben. Und auf Regex replace klicken. Fertig.
Bei Regular Expression " <.*?> " eingeben (ohne die Anfuhrungszeichen. Leerzeichen vorne und hinten wichtig, um nicht später 3 Leehrzeichen zu haben)
Bei Replace To ein Leerzeichen eingeben.
Text in das grosse Feld eingeben. Und auf Regex replace klicken. Fertig.
Re: Excel: Text in Klammern löschen
Also zumindest in LibreOffice Calc funktioniert das ganz einfach. Da warst du auch auf dem richtigen Weg.
Suchen und ersetzen
Suchen nach: <.*>
Ersetzen durch: nichts (oder Leerzeichen)
Unter weitere Optionen: Reguläre Ausdrücke anhacken.
Suchen und ersetzen
Suchen nach: <.*>
Ersetzen durch: nichts (oder Leerzeichen)
Unter weitere Optionen: Reguläre Ausdrücke anhacken.
Lou mi sa.
-
- Information
-
Wer ist online?
Mitglieder in diesem Forum: 0 Mitglieder und 18 Gäste