2010-05-20 19 views
24

Wie entferne ich Zahlen aus einer Zeichenfolge mit Javascript?Entfernen von Zahlen aus einer Zeichenfolge mit Javascript

Ich bin überhaupt nicht gut mit Regex, aber ich denke, ich kann mit ersetzen, um das oben genannte zu erreichen?

Es wäre wirklich toll, wenn es etwas gibt, das JQuery bereits anbietet, um das zu tun?

//Something Like this?? 

var string = 'All23'; 
string.replace('REGEX', ''); 

Ich freue mich über jede Hilfe zu diesem Thema.

Antwort

34

\d eine beliebige Anzahl, so dass Sie wollen sie mit einem leeren String ersetzen:

string.replace(/\d+/g, '') 

ich hier die + Modifikator verwendet haben, so dass sie alle benachbarten Zahlen in einem Rutsch übereinstimmen, und daher erfordern weniger ersetzen. Die g am Ende ist ein Flag, das "global" bedeutet und es bedeutet, dass es ALLE gefundenen Übereinstimmungen ersetzt, nicht nur die erste.

+0

danke für die erklärung vielleicht kann ich mich an diese für die zukunft erinnern, oh warte nicht tun müssen, ""! :) – Abs

+3

Wird die Zeichenfolge überhaupt Float-Nummern haben? Wenn ja, brauchen Sie einen anderen Regex. '" str 12.3 oder 12,3 ".replace (/ \ d + ([,.] \ d +)?/g)' – BrunoLM

+0

Der String hat nur ganze Zahlen. Vielen Dank für diesen Vorschlag. – Abs

1

Fügen Sie einfach diese in der Adressleiste, um es auszuprobieren:

javascript:alert('abc123def456ghi'.replace(/\d+/g,'')) 

\d ein Zeichen im Bereich zeigt 0-9 und die + gibt eine oder mehrere; so \d+ entspricht einer oder mehreren Ziffern. Die g ist erforderlich, um global passend anzuzeigen, im Gegensatz zum Beenden nach der ersten Übereinstimmung (das Standardverhalten).

+0

Es braucht das' g' Flag andernfalls schlägt es auf "abc123def456" fehl – nickf

Verwandte Themen