Frage

Ich habe eine Variable wie diese:

var = "word1 (should be replaced by word1)"

Ich muss Wort1 von selbst bekommen und manchmal kann es ein Wort (e) sein, aber es wird immer (*) danach haben.Gibt es eine Möglichkeit, Text zwischen den () -Zeichen zu löschen, dann das () zu entfernen und dann Leerzeichen nach dem letzten Wort zu entfernen?

Ich bin mir nicht sicher, wie ich vorgehen soll.

War es hilfreich?

Lösung

Das einfachste wäre:

var = Trim(Mid(var, 1, InStr(var, "(") - 1))

InStr gibt den Index des ersten Vorkommens von "(" zurück.Ich subtrahiere 1, um die Position des "(" zu diskontieren.

Mid schneidet die Zeichenfolge vom ersten Zeichen an Position 1 bis zum Index ab, der vom InStr.

Dann Trim um nachgestellte Leerzeichen zu entfernen.

Andere Tipps

so? generasacodicetagpre.

edit

Der obige Code kann weiter verkürzt werden generasacodicetagpre.

Ich würde aufgeteilte Funktion verwenden. generasacodicetagpre.

Sie haben jetzt ein Array mit 2 Elementen.

das zweite Element teilen generasacodicetagpre.

beitreten dann: generasacodicetagpre.

das funktioniert, solange es nur einen einzigen Satz von Klammern in der Zeichenfolge gibt.

Die alternative Möglichkeit besteht darin, die reguläre Expressionsbibliothek zu nutzen, aber das ist eine längere Antwort.Es wäre nicht so effizient, aber wäre es besser, wenn es darum geht, komplexere Saiten umzugehen.


update: Ich bin ein bisschen weiter gegangen, als die Frage vielleicht aufgerufen wurde.Meine Lösung stellt sicher, dass der geklammerte Text entfernt wird - jeder Text, nachdem der geklammerte Text auch erhalten bleibt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top