Hallo,
ich muss mich gerade etwas durch VBA quälen und bin jetzt an einem Punkt, an dem ich Regex benötigen würde um einen Teilstring auszuschneiden.
Der Quell-String ist eine Bandbreite gefolgt von der Einheit:
z.B. "1024 Kbps" oder "1 Mbps" oder "34MBit"
Ich müsste jetzt Wert und Einheit trennen und den Wert in Kilobit umrechnen, was ich in Perl ungefähr so lösen würde:
my $value=0;
if ($bandwidth=/(\d+)\s*(gb|mb|kb|b)?/i)
{
$value=$1; my $unit=$2;
if ($unit eq "gb")
{
$value*=1024*1024;
}
elsif ($unit eq "mb")
{
$value*=1024;
}
elsif ($unit eq "b")
{
$value/=1024;
}
}
Da sowohl Value als auch Unit unterschiedliche Zeichenlängen habe können kann ich die VBA-Funktionen Mid, Right, Left nicht nutzen. Mit Like kann ich zwar matchen, bekomme aber nur True oder False anstatt der Treffer zurückgeliefert.
Wie kann ich dieses eigentlich recht Simple Problem mit VBA lösen?
Besten Dank!