397 Stimmen

Extrahieren einer einzelnen (vorzeichenlosen) Ganzzahl aus einer Zeichenkette

Ich möchte die Ziffern aus einer Zeichenfolge extrahieren, die Zahlen und Buchstaben enthält:

"In My Cart : 11 items"

Ich möchte die Nummer extrahieren 11 .

-2voto

Mehrdad Punkte 49

Für utf8 str:

function unicodeStrDigits($str) {
    $arr = array();
    $sub = '';
    for ($i = 0; $i < strlen($str); $i++) { 
        if (is_numeric($str[$i])) {
            $sub .= $str[$i];
            continue;
        } else {
            if ($sub) {
                array_push($arr, $sub);
                $sub = '';
            }
        }
    }

    if ($sub) {
        array_push($arr, $sub); 
    }

    return $arr;
}

-2voto

Khaldoon Masud Punkte 302

Diese Funktionen verarbeiten auch die Gleitkommazahlen

$str = "Doughnuts, 4; doughnuts holes, 0.08; glue, 3.4";
$str = preg_replace('/[^0-9\.]/','-', $str);
$str = preg_replace('/(\-+)(\.\.+)/','-', $str);
$str = trim($str, '-');
$arr = explode('-', $str);

-3voto

Abhishek Poudel Punkte 15

Dieses Skript erstellt zunächst eine Datei, schreibt Zahlen in eine Zeile und wechselt in die nächste Zeile, wenn es ein anderes Zeichen als eine Zahl erhält. Zum Schluss sortiert es die Zahlen wieder in eine Liste.

string1 = "hello my name 12 is after 198765436281094and14 and 124de"
f= open("created_file.txt","w+")
for a in string1:
    if a in ['1','2','3','4','5','6','7','8','9','0']:
        f.write(a)
    else:
        f.write("\n" +a+ "\n")
f.close()

#desired_numbers=[x for x in open("created_file.txt")]

#print(desired_numbers)

k=open("created_file.txt","r")
desired_numbers=[]
for x in k:
    l=x.rstrip()
    print(len(l))
    if len(l)==15:
        desired_numbers.append(l)

#desired_numbers=[x for x in k if len(x)==16]
print(desired_numbers)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X