Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Telefonummern mit Perl trennen und in vcards schreiben!

Mitglied: transwarp

transwarp (Level 1) - Jetzt verbinden

07.09.2006, aktualisiert 11.09.2006, 3704 Aufrufe, 5 Kommentare

Hallo Forum,

habe eine Spezielles PRoblem muss mit Hilfe von Perl Telefunummern trennen!

bsp. 0049 30 5845212 - 12

hier muss ich die 0049 in +49 bzw. eine Länderkennung "D" umwandeln

die 030 muss als Ortsvorwahl gelten und die 12 als Durchwahl. Diese muss dann in eine VCard geschrieben werden Script is schon fertig die dann importiert werden muss!

vielen Dank

mfg
Mitglied: 6890
07.09.2006 um 15:13 Uhr
hallo,

bei was genau benötigst du jetzt hilfe??

für visiten karten lesen und schreiben gibt es zb das modul Text::vCard oder Net::vCard.

mfg
Bitte warten ..
Mitglied: transwarp
07.09.2006 um 15:35 Uhr
Hi danke für die Antwort!

Benötige hilfe bei der Programmierung, ich weiß nicht wie ich die Telefonnummern teilen soll!

Habe Daten in verschiedenen Formaten vorliegen!
bsp:

004952125
+49551125
+49 52236 9695
030 12515

...weitere Formate

Die Nummer soll immer das Folgende Format haben!


+(länderkennung) (vorwahl) (Hauprufnummer) (evt. Durchwahl!)


DANKE
Bitte warten ..
Mitglied: Biber
07.09.2006 um 20:34 Uhr
Moin transwarp,

bin in Perl nur Anfänger und Dir von daher kaum eine Hilfe.
Einen allgemeinen Algorithmus, also Pseudo-Code würde ich zwar formuliert bekommen (schätze ich), aber dann möchte ich vorher um Ergänzung bitten:

Wie definierst Du für Dich eine "gültige Telefonnummer" in den vorhandenen Daten?
a) Konkret:
- Ist 112 eine gültige Telefonnummer?
- Falls ja: wie sieht die in dieser Ziel-Format-Struktur aus?
b) Dürfen in den Jetzt-Daten denn auch schon Tel-Nummern wie "+CH-0888-123456" gültig sein?
c) wieso überhaupt wieder dieser Zeichen/Ziffern-Mix mit dem Ländercode "D" oder "A"?
Ich dachte, das Format der FQTN wäre nun endlich mal von allen abgenickt?

Als erstes jedenfalls müsste IMHO eine RegExp-Prüfung erfolgen auf Gültigkeit.
Und wenn sich die RegExpressions nicht sehr verändert haben in den letzten Wochen, müsste es in Perl ungefähr so losgehen:

01.
.... 
02.
function isTelNr($telnr) { 
03.
$number = str_replace(' ', '', $telnr); 
04.
$fqtnpattern = "/^((\+|0\d)\d{2})?(\((\d{2,5})\)|(\d{2,5})(\/|\-)?)(\d{3,9})(\-?(\d{1,3}))?$/"; 
05.
if(preg_match($fqtnpattern, $telnr, $match)) {  
06.
        # hier im OK-Fall kann es dann losgehen  
07.
        # mit Ersetze "0049" am Anfang durch "D-"....etc  
08.
        # oder erst ein preg_replace("/[^\d\+]/", "", $telnr); ? 
09.
        return true; 
10.
 
11.
}    else {   
12.
      return false;   
13.
  }
Wie gesagt, da müssten mal die Perl-Zauberer ran. wenn es denn soweit ist.
Ich finde nur die Aufgabenstellung bisher noch unvollständig.

Kannst Du denn mal den Drumherum-Schnipsel posten, der schon da ist?
Dir fehlt doch nur noch diese Telefonnummern-Formatierung/Konvertierung, oder?

Gruß
Biber
Bitte warten ..
Mitglied: 6890
08.09.2006 um 09:15 Uhr
ach der gute herr biber

hier is der perl zauberer :D

so wennsch risch verstanden hab: einlesen, ändern, ausgeben, oder??

01.
#!c://perl/bin/perl -w 
02.
 
03.
use strict; 
04.
 
05.
## tel. nr. einlesen 
06.
open(TEL,"<tel.txt") or die "Kann Telefonliste nicht öffnen: $!"; 
07.
my @nummern = <TEL>; 
08.
close(TEL); 
09.
chomp(@nummern); 
10.
 
11.
 
12.
foreach(@nummern) { 
13.
 
14.
  ## zeilen leer setzten wenn kommentar oder nur buchstaben 
15.
  $_ = "\n" if $_ =~ m/^#/ig || $_ =~ m/[a-zA-Z]+/; 
16.
  next if $_ =~ m/^\s$/; 
17.
 
18.
  ## llerzeichen aus nummern entfernen 
19.
  $_ =~ s/ //gi; 
20.
 
21.
  ## auf alles trigger und ändern was 0049... is 
22.
  if($_ =~ m/^([0]{2})([49][\d-]*)/gi) { 
23.
    $_ = "+".$2; 
24.
 
25.
    ## auf alles triggern und ändern was 0[1-9]... is 
26.
      } elsif($_ =~ m/^([0]{1})([1-9]{1})([\d-]*)/gi) { 
27.
        $_ = "+49".$2.$3; 
28.
29.
30.
 
31.
chomp(@nummern); 
32.
 
33.
## nummer in neues file schreiben 
34.
open(TELNEU,">tel_neu.txt"); 
35.
print TELNEU join("\n", @nummern); 
36.
close(TELNEU); 
37.
 
38.
exit(0);
mfg
Bitte warten ..
Mitglied: transwarp
11.09.2006 um 08:06 Uhr
Besten Dank Leute!

Habt mir geholfen habe mein Problem lösen können!

mfg
Bitte warten ..
Ähnliche Inhalte
iOS
Kontakte aus iCloud in vCard exportieren
gelöst Frage von daradarsiOS5 Kommentare

Hallo Ich möchte meine Kontakte aus der iCloud in eine vCard exportieren, so dass ich diese anschliessend in mein ...

Perl

Perl script zur Auswertung einer Telefonanlage

gelöst Frage von Fl0wMAGPerl2 Kommentare

Hallo leute, ich bin seit einiger Zeit in der Ausbildung zum Systemintegrator und soll da doch bitte mal in ...

Windows Server

Domänencontroller trennen

Frage von Akit57Windows Server14 Kommentare

Hallo, ich hoffe das mir hier jemand meine Frage trotz der spärlichen Informationen die ich geben kann beantworten kann: ...

Perl

Perl Scripting routen

gelöst Frage von fredo788Perl13 Kommentare

Hallo, ich habe Probleme mit einem Perl Script. Anmerken muss ich, dass ich sehr unerfahren mit Perl bin. Auf ...

Neue Wissensbeiträge
Humor (lol)
(Part num your Hacked phone. +XX XXXXXX5200)
Erfahrungsbericht von Henere vor 17 StundenHumor (lol)1 Kommentar

Mein Handy hat aber ne ganz andere Endnummer. Muss ich mir jetzt Sorgen machen ? :-) Vielleicht betrifft es ...

Exchange Server

Letztes Update für Exchange 2016 CU9 war in gewisser Weise destruktiv

Erfahrungsbericht von DerWoWusste vor 19 StundenExchange Server6 Kommentare

Kurzer Erfahrungsbericht zu Exchange2016-KB4340731-x64 Der Exchangeserver hat wie gewöhnlich versucht, es in der Nacht automatisch zu installieren - abgesehen ...

Erkennung und -Abwehr

Neue Sicherheitslücke Foreshadow (L1TF) gefährdet fast alle Intel-Prozessoren

Information von Frank vor 1 TagErkennung und -Abwehr3 Kommentare

Eine neue Sicherheitslücke, genannt Foreshadow (alias L1TF) wurde auf der Usenix Security 18 von einem Team internationaler Experten veröffentlicht. ...

Vmware
VMware Updates gegen L1 Lücke
Information von sabines vor 2 TagenVmware

Für die Vmware Produkte vCenter Server, ESXi, Workstation und Fusion stehe Updates bereit um die L1 Lücke zu schließen. ...

Heiß diskutierte Inhalte
Windows Server
Domäne einsilbig mit nur einem Namen benannt - sowie AD und MX auf einer VM Kardinalsfehler?
Frage von TomTestWindows Server48 Kommentare

Hallo liebe Freunde gepflegter Probleme, seit kurzem soll ich eine Domäne verwalten die zuvor von einem IT-Dienstleister erstellt und ...

Microsoft
VPN Verbindung kann nicht aufgebaut werden
Frage von AlexderITlerMicrosoft35 Kommentare

Hallo, Ich möchte an einem unserer PCs in unserer Tochterfirma eine VPN zu unserem Netzwerk einrichten. Das schlägt allerdings ...

DNS
Gibt es eine Art DNS Proxy?
Frage von icepietDNS16 Kommentare

Hallo Nerds, Ich würde gerne folgendes machen: ts.domain.de:3389 soll auf 1.2.3.4:3389 auflösen ts2.domain.de:3389 soll auf 1.2.3.4:3390 auflösen Gibt es ...

Windows Server
Windows Server per Web auf Daten zugreifen und verwalten
Frage von matze2090Windows Server16 Kommentare

Hallo, ich würde gerne von außen auf meinem Windows Server zugreifen um auf meine Daten zu verwalten. Meine frage ...