RegEx - Ziffernfolge suchen, welche getrennt ist

Getting started ... Alles für einen gelungenen Start.
7 Beiträge • Seite 1 von 1
7 Beiträge Seite 1 von 1

RegEx - Ziffernfolge suchen, welche getrennt ist

Beitrag von tseng (ForumUser / 8 / 1 / 0 ) »
Hallo,

ich bin auf der Suche nach einer Möglichkeit in einem Text eine 10 Stellige Ziffernfolge zu suchen, welche durch verschiedene Character getrennt sein kann.

Bspw. bekomme ich eine Zehnstellige Nummer wie folgt übergeben:

TEXT 123 456 7891 TEXT
TEXT 123-456-7891 TEXT
TEXT 123/456/7891 TEXT

Nun könnte ich diese Ziffernfolge bspw. für den ersten Fall wie folgt suchen: (?:\D*TEXT\D*)(\d{3}\D\d{3}\D\d{4})
Hierbei gebe ich explizit an, dass die gesuchte Ziffernfolge aus 3 Ziffern / einem Leerzeichen / 3 Ziffern / einem Leerzeichen / 4 Ziffern besteht.

Gib es auch eine Möglichkeit zu sagen, dass ich eine 10 Stellige Ziffernfolge suche, die mit bestimmten Charactern beliebig getrennt sein kann, da ich nicht genau weiß ob es jetzt immer 3 / 3 / 4 Stellen sind...

Dankeschön

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: RegEx - Ziffernfolge suchen, welche getrennt ist

Beitrag von Unit605 (Expert / 975 / 37 / 93 ) »
Text aus dem String, wenn es einer ist, eliminieren und dann

Code: Alles auswählen.

SPLIT uebriggeleiben10stelligeZahl  AT verschiedeneCharacter INTO TABLE itab. 
oder, da nicht klar ist, was Du nun genau uebrig hast/uebergeben bekommst:

Code: Alles auswählen.

SPLIT string  AT verschiedeneCharacter INTO TABLE itab. 

und dann den Text eliminieren.

Re: RegEx - Ziffernfolge suchen, welche getrennt ist

Beitrag von a-dead-trousers (Top Expert / 4271 / 213 / 1140 ) »
Ich würde zuerst alle möglichen Trennzeichen im Text ersetzen/löschen

replace all occurences of regex '[-/ ]' in ld_string with space.

und anschließend eine 10-stellige Zahlenfolge suchen

find regext '[0-9]{10}' in ld_string match offset ld_offset.

lg ADT

EDIT: Keine CODE-Formatierung da die eckigen Klammern falsch angezeigt werden.
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: RegEx - Ziffernfolge suchen, welche getrennt ist

Beitrag von Dele (Specialist / 307 / 4 / 47 ) »
Kannst du mal folgendes Regex-Pattern versuchen (\d)\D{0,1} mit der Option all occurrences

Re: RegEx - Ziffernfolge suchen, welche getrennt ist

Beitrag von Unit605 (Expert / 975 / 37 / 93 ) »
Nur mal so gefragt, soll die 10stellige Nr. eine US Telefonnummer sein?

Re: RegEx - Ziffernfolge suchen, welche getrennt ist

Beitrag von black_adept (Top Expert / 3943 / 105 / 886 ) »
Hallo Tseng,

zum Rumspielen mit regulären Ausdrücken hat SAP extra den Report "DEMO_REGEX_TOY" zur Verfügung gestellt.
Da kannst du ganz gut testen, ob dein Ausdruck das macht was du suchst.

Mein Vorschlag:

Code: Alles auswählen.

(\d.{0,2}){9}\d)
bzw.

Code: Alles auswählen.

find regex (\d.{0,2}){9}\d) in ... submatches lv_ziffernfolge
9x Ziffer gefolgt von 0-2 Leerzeichen + 1 abschließende Ziffer.

Das kann noch beliebig verfeinert werden - z.B. dass danach keine weitere Ziffer kommen darf oder auch nicht.
Aber als Start sollte das ok sein.

Danach alle nicht-ziffern aus dem gefundenen String rauswerfen und du hast die Nummer ohne Zwischenzeichen.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: RegEx - Ziffernfolge suchen, welche getrennt ist

Beitrag von Unit605 (Expert / 975 / 37 / 93 ) »
Wenn er nur die Nummer haben will, reicht vielleicht schon:

REPLACE ALL OCCURRENCES OF REGEX '[^0-9]' IN ......

oder

REPLACE ALL OCCURRENCES OF REGEX '[^[:digit:]] IN .....

Deshalb ja meine vorherige Frage, ob es eine US Telefonnummer sein soll.

Seite 1 von 1

Vergleichbare Themen

12
Antw.
8843
Views
Regex für /xA0
von Thomas R. » 13.11.2013 12:13 • Verfasst in ABAP® für Anfänger
5
Antw.
2664
Views
Replace Regex
von Legxis » 24.05.2018 15:09 • Verfasst in ABAP® für Anfänger
4
Antw.
2726
Views
REGEX Frage
von Eddi » 18.01.2008 02:48 • Verfasst in ABAP® Core
13
Antw.
5630
Views
REGEX - CX_SY_INVALID_REGEX
von nickname8 » 23.04.2018 13:49 • Verfasst in ABAP® Core
17
Antw.
3759
Views
Regex in FIND
von hugo.data » 22.10.2018 15:33 • Verfasst in ABAP® für Anfänger

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.