Ich muss die Nummer von einem nicht-numerischen Stachel bekommen, so dass ich es in einer Formel verwenden kann, um Einheitspreis für Beispiel 4 von x = 1.000.00 anzuzeigen. Ich muss diese Zahl 4 aus dem Text herausgreifen und sie in der einfachen Formel verwenden, um zu zeigen, dass der Stückpreis von jedem 250.00 ist. Irgendwelche Vorschläge bitte?Eine Nummer aus einer Nicht-Nummer-Zeichenkette ergreifend
Antwort
Dies kann davon abhängen, ob die Struktur der Phrase Standard ist oder nicht.
Regex (perl-Stil):
/\D(\d*)\D/
sollte jede Reihe von Zahlen durch andere Dinge als Zahlen umgeben entsprechen.
/\b(\d*)\b/
ist sicherer, da es sicherzustellen, dass es nicht Teil eines Wortes, Name, oder das Modell/Seriennummer.
Wenn Sie erwarten Komma/Dezimalzahlen, Sie werden es brauchen, um mehr wie:
/\b((\d|\.|,)*)\b/
Wenn auf der anderen Seite Sie die Zahlen kennen, sind am Anfang und Ende des Strings, und Sie vermeiden Regex aus irgendeinem Grund, können Sie einfach Split oder explodieren auf die Zeichenfolge, und greifen Sie die ersten und letzten Teile.
Wenn es immer was los „A von x = B“ sein, dann können Sie wahrscheinlich so etwas wie die unten als quick and dirty Lösung:
VAL(Left({Test;1.testfield}, IIF(Instr({Test;1.testfield}, " x = ") > 0, Instr({Test;1.testfield}, " x = ") - 1, 0)))
Dieser Abschnitt wird vor dem „x =“ und wandelt es in eine Zahl um. Ich habe das IIF nur für den Fall hinzugefügt, dass diese Zeichenfolge nicht existiert, aber dies ist möglicherweise nicht notwendig.