Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo,

ich möchte in allen Strings alle Zeichen(komma, doppelpunkt usw.) durch nichts ersetzen.

Ich könnte es mit der Replace-Funktion machen, aber für jedes einzelne Zeichen ein Replace wäre glaube ich viel zu umständlich.

Dann habe ich im Internet noch diese Funktion gefunden

s1= System.Text.RegularExpressions.Regex.Replace(s1, "[,!:']", "")

Aber da muss ich ja auch jedes einzelne Zeichen selber eintragen. Das Problem ist, dass ich nicht alle Zeichen kenne die ich ersetzen möchte.

Gibt es irgendeine Möglichkeit alle Zeichen einfach mit einem leeren String zu ersetzen oder zu löschen, oder sind diese beiden Möglichkeiten die Einzigen?

Geschrieben
Gibt es irgendeine Möglichkeit alle Zeichen einfach mit einem leeren String zu ersetzen oder zu löschen

Was meinst du damit?

Am einfachsten würde es gehn mit Regulären ausdrücken wie du schon geschrieben hast.

Was hast du denn ungefähr vor? Vielleicht hilft das ein bisschen :)

E: Was für eine Programmiersprache benutzt du? Sieht irgendwie nach C# aus *g*.

Lg

Geschrieben (bearbeitet)
Was meinst du damit?

Am einfachsten würde es gehn mit Regulären ausdrücken wie du schon geschrieben hast.

Was hast du denn ungefähr vor? Vielleicht hilft das ein bisschen :)

E: Was für eine Programmiersprache benutzt du? Sieht irgendwie nach C# aus *g*.

Lg

In VB.Net ;D

Ich möchte in einem bestehenden Programm alle Zeichen durch "nichts" ersetzen. Und die Umlaute Ä, Ö, Ü durch ae, oe, ue ersetzen. Das ist ja kein Problem, kann man in 3 Zeilen machen, aber mit den Zeichen wäre das glaube ich zu umfangreich.

Das sind übrigens alles html-Zeichen, die ich ersetzen will

SELFHTML: HTML/XHTML / Referenz /HTML-Zeichenreferenz

Bearbeitet von chablife
Geschrieben (bearbeitet)

oO Ganz schön viel.. :D Ich würde es aber trotzdem mit Regulären Ausdrücken veruschen, mir fällt sonst keine andere Möglichkeit ein... sollte dann ungefähr so aussehen:


SearchAnd = New Regex();

String regex = "["&<>¡¡¢£¤¥¦§¨©ª«¬*" + 

"®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÃÂÃÄÅÆÇÈÉÊËÌÃÃŽÃÃÑÒÓÔÕÖ×ØÙÚÛÜÃÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüý"+

"þÿΑαΒβΓγΔδΕεΖζΗηΘθΙιΚκΛλΜμΝνΞξΟοΠπΡρΣςσΤτ"+"ΥυΦφΧχΨψΩωϑϒϖ∀∂∃∅∇∈∉∋∏∑−∗√∝∞∠∧"+

"∨∩∪∫∴∼≅≈≠≡≤≥⊂⊃⊄⊆⊇⊕⊗⊥⋅◊⌈⌉⌊⌋〈〉←↑→↓↔↵⇐⇑⇒⇓⇔•′″‾⁄℘ℑℜ™€ℵ♠♣♥♦ŒœŠšŸƒ"+

"   **‎‏–—‘’‚“”„†‡…" +"‰‹›ˆ˜]";

SearchAnd.Replace(text, regex, "")

Ich bin mir mit der Syntax nicht ganz sicher, da ich kein VB.net kann, aber du kannst es ja ggf. korrigieren^^ kannst es ja mal probieren.. :D Und sag dann mal obs klappt oder ob es in die richtige Richtung geht. :) E: wegen umlauten überleg ich mir nochmal kurz was und melde mich gleich nochmal :D E2: Mit den Umlauten wärs wahrscheinlich am einfachsten einfach das wie folgt zu machen:
text = text.Replace("ä", "ae");

text = text.Replace("ö","oe");

text = text.Replace("ü","oe");

... unschön, aber mir fällt sonst nichts ein grad :o

Lg

Bearbeitet von Termi
Geschrieben (bearbeitet)

Das mit den Umlauten habe ich genauso wie du. Das klappt auch.

Das darüber leider nicht :/

Hab einiges dran versucht aber funktioniert nicht. Entweder kann ichs nicht oder es funktioniert nicht.

Trotzdem danke für die Mühe.

Bearbeitet von chablife
Geschrieben

Also am regulären ausdruck sollte es nicht liegen, der klappt das hab ich ausprobiert.

Wie gesagt, die VB.net Syntax ist mir leider nicht geläufig...

Du willst alle Zeichen (wie sie im regulären Ausdruck) mit "" ersetzen, seh ich das richtig?

Ich geh davon aus das du die Klasse implementiert hast?


Imports System.Text.RegularExpressions

btw. ich hab gesehen das wenn du die Klasse implementiert hast bei VB.net KEIN neues Objekt erstellt werden muss, sorry dafür. Vielleicht funktioneirt ja das?:

Dim ausdruck As String

ausdruck = "["&<>¡¡¢£¤¥¦§¨©ª«¬*" + 

"®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÃÂÃÄÅÆÇÈÉÊËÌÃÃŽÃÃÑÒÓÔÕÖ×ØÙÚÛÜÃÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüý"+

"þÿΑαΒβΓγΔδΕεΖζΗηΘθΙιΚκΛλΜμΝνΞξΟοΠπΡρΣςσΤτ"+"ΥυΦφΧχΨψΩωϑϒϖ∀∂∃∅∇∈∉∋∏∑−∗√∝∞∠∧"+

"∨∩∪∫∴∼≅≈≠≡≤≥⊂⊃⊄⊆⊇⊕⊗⊥⋅◊⌈⌉⌊⌋〈〉←↑→↓↔↵⇐⇑⇒⇓⇔•′″‾⁄℘ℑℜ™€ℵ♠♣♥♦ŒœŠšŸƒ"+

"   **‎‏–—‘’‚“”„†‡…" +"‰‹›ˆ˜]"

text.RegEx.Replace(text, regex, "")

Lg - ich dürck die Daumen das es jetzt funktioniert.. :D

E: @Klotzkopp: woooops... hab das ja ganz übersehen hier im Editor ._. danke dir! Funktioniert das aber dann auch? Ich weiß nicht genau ob man in VB.net nen neues RegEx Objekt erstellen muss oder das normale nehmen kann.

Geschrieben
Ich weiß nicht genau ob man in VB.net nen neues RegEx Objekt erstellen muss oder das normale nehmen kann.
Regex.Replace(String, String, String) ist static ("Shared" in VB), daher braucht man keine Regex-Instanz:

text = Regex.Replace(text, regex, "")

Geschrieben

Sub ersetzen(ByRef x As String)

        x = System.Text.RegularExpressions.Regex.Replace(x, "[[I]alle Zeichen[/I]]", "")

    End Sub

Ich habe es jetzt so und es funktioniert auch. Danke euch beiden.

Geschrieben

auch wenn du jetzt etwas hast, mit dem du zufrieden bist:

was wolltest du damit erreichen?

vielleicht ist der ansatz, den du gewählt hast, nicht der günstigste

vielleicht wäre es besser, statt die ungültigen Zeichen raus zu fischen, die gültigen zu behalten

allerdings kann ich nicht sagen, ob es optimalere Lösungen gibt, da du dein eigentliches Problem bisher nicht genannt hast

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...