2010-05-20 41 views
24

Làm cách nào để xóa số khỏi chuỗi bằng Javascript?Xóa số khỏi chuỗi bằng cách sử dụng Javascript

Tôi không giỏi lắm về regex nhưng tôi nghĩ mình có thể sử dụng thay thế để đạt được điều này?

Nó thực sự sẽ tuyệt vời nếu có điều gì đó mà JQuery đã cung cấp để thực hiện việc này?

//Something Like this?? 

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

Tôi đánh giá cao bất kỳ trợ giúp nào về điều này.

Trả lời

34

\d khớp với bất kỳ số lượng, do đó bạn muốn thay thế chúng bằng một chuỗi rỗng:

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

Tôi đã sử dụng modifier + đây để nó sẽ phù hợp với tất cả các số liền kề trong một đi, và vì thế đòi hỏi ít thay thế. Các g ở cuối là một lá cờ có nghĩa là "toàn cầu" và nó có nghĩa là nó sẽ thay thế tất cả các trận đấu nó tìm thấy, không chỉ là người đầu tiên.

+0

cảm ơn bạn đã giải thích có thể tôi có thể nhớ điều này cho tương lai, oh chờ đợi không cần phải làm điều đó, "yêu thích"! :) – Abs

+3

Chuỗi có bao giờ có số float không? Nếu vậy bạn cần một regex khác. '" str 12.3 hoặc 12,3 ".replace (/ \ d + ([,.] \ d +)?/g)' – BrunoLM

+0

Chuỗi sẽ chỉ có số nguyên. Cảm ơn bạn đã gợi ý đó mặc dù. – Abs

1

Chỉ cần dán vào thanh địa chỉ của bạn để thử nó ra:

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

\d chỉ ra một nhân vật trong phạm vi 0-9, và + chỉ ra một hoặc nhiều; do đó \d+ khớp với một hoặc nhiều chữ số. Cần g để chỉ ra kết hợp toàn cầu, thay vì thoát sau trận đấu đầu tiên (hành vi mặc định).

+0

Nó cần cờ' g' nếu không thì nó không thành công trên "abc123def456" – nickf

Các vấn đề liên quan