395 Stimmen

Wie Teilzeichenfolge vor einem bestimmten Zeichen in JavaScript zu greifen?

Ich versuche, alles zu extrahieren, was vor dem ',' Komma steht. Wie kann ich dies in JavaScript oder jQuery tun? Ich habe dies versucht und nicht funktioniert

1345 albany street, Bellevue WA 42344

Ich möchte nur die Straßenadresse abrufen.

var streetaddress= substr(addy, 0, index(addy, '.'));

2voto

Ramen_Lover912 Punkte 57

Sie könnten regex verwenden, da dies Ihnen die Zeichenkette liefert, wenn sie den Anforderungen entspricht. Der Code würde etwa so aussehen:

const address = "1345 albany street, Bellevue WA 42344";
const regex = /[1-9][0-9]* [a-zA-Z]+ [a-zA-Z]+/;
const matchedResult = address.match(regex);

console.log(matchedResult[0]); // This will give you 1345 albany street.

Um also den Code aufzuschlüsseln. [1-9][0-9]* bedeutet im Grunde, dass die erste Zahl keine Null sein darf und eine Zahl sein muss zwischen 1-9 und die nächste Zahl kann eine beliebige Zahl aus 0-9 und kann null oder mehr Mal vorkommen, da die Zahl manchmal nur aus einer Ziffer besteht und dann mit einem Leerzeichen übereinstimmt. [a-zA-Z] Grundsätzlich werden alle Großbuchstaben mit Kleinbuchstaben verglichen und müssen einmal oder mehrmals vorkommen.

-1voto

monkey Punkte 931

Wenn Sie sich Sorgen um den Fall machen, dass kein Komma vorhanden ist, können Sie einfach so vorgehen:

let end = addy.indexOf(",") >= 0 ? addy.indexOf(",") : addy.length;
let streetaddress = addy.substr(0, end);

Niemand hat gesagt, dass es in einer Zeile stehen muss.

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