Regex-Funktion zum Abgleichen von Buchstaben und Buchstaben mit einer Ziffer, zwischen der kein Leerzeichen stehtHallo alle,
Ich habe eine Zeichenfolge „9 035 Assay Activity Testing For Characterization STD4 1 1“. und ich möchte nur mit „Assay Activity Testing For Characterization STD4“ übereinstimmen.
Ich habe versucht zu verwenden: Regex( :Sample Name, "\d", "", GLOBALREPLACE ); aber es hat die Nummer auf dem STD gelöscht, irgendein Vorschlag?
Danke
Betreff: Regex-Funktion zum Abgleichen von Buchstaben und Buchstaben mit einer Ziffer, zwischen der kein Leerzeichen stehtVielen Dank für die Hilfe und die Erklärung der Regeln helfen. und ich finde heraus, dass ich jede freistehende Nummer zuschneiden muss, und das Folgende funktioniert perfekt.
"(\D+(\w+\w))+"
Betreff: Regex-Funktion zum Abgleichen von Buchstaben und Buchstaben mit einer Ziffer, zwischen der kein Leerzeichen stehtJustins Beispiel mag perfekt sein, aber ohne die von Ihnen verwendete Regel zu kennen, ist es schwer zu sagen. Die Regel könnte darin bestehen, alle führenden Ziffern und Leerzeichen wegzulassen oder bei „Test“ zu beginnen. Und andererseits könnte die Regel darin bestehen, am Ende zwei durch Leerzeichen getrennte Zahlen wegzulassen, oder alle bis auf die letzte Ziffer oder alles nach der letzten Ziffer, die mit einem Wort verbunden ist. Und das sind nur einige mögliche Regeln. Sobald Sie die Regel kennen, wird es einfacher, einen regulären Ausdruck zu erstellen, der ihr folgt.
Wenn Sie über Justins Beispiel rätseln, lesen Sie es so:
(...)+ bedeutet, dass der Inhalt der Klammern einmal oder mehrmals abgeglichen wird
[az]+ bedeutet, dass ein oder mehrere Buchstaben übereinstimmen
\D?bedeutet, dass eine oder null Ziffern übereinstimmen
\s bedeutet Übereinstimmung mit einem Leerzeichen
Jedes von den Parens gefundene „Wort“ enthält eine optionale abschließende Ziffer und ein erforderliches abschließendes Leerzeichen, sogar das letzte Wort. Justin hat die Trim-Funktion verwendet, um das letzte Leerzeichen aus dem Ergebnis zu entfernen. Wenn Ihre Daten nach dem letzten Wort möglicherweise kein Leerzeichen enthalten, wird das letzte Wort nicht einbezogen.
Betreff: Regex-Funktion zum Abgleichen von Buchstaben und Buchstaben mit einer Ziffer, zwischen der kein Leerzeichen stehtAnstatt eine globale Ersetzung durchzuführen, könnten Sie eine Übereinstimmung für den Teil der Zeichenfolge erhalten, den Sie behalten möchten.
Diese RegEx funktioniert für die von Ihnen angegebene Zeichenfolge, möglicherweise jedoch nicht, wenn das Format anderer Zeichenfolgen zu unterschiedlich ist.
Trim(
Regex(
"9 035 Assay Activity Testing For Characterization STD4 1 1",
"([a-z]+\d?\s)+",
"\0",
IGNORECASE
)
);
Protokoll:
"Assay Activity Testing For Characterization STD4"