2013-06-07 101 views
14

chức năng nào sẽ biến xóa thêm dấu cách trong chuỗi javascript

 this contains  spaces
thành
this contains spaces
sử dụng javascript?

Tôi đã thử những điều sau, sử dụng các câu hỏi SO tương tự, nhưng không thể làm việc này.

var string = " this contains spaces "; 

newString = string.replace(/\s+/g,''); // "thiscontainsspaces" 
newString = string.replace(/ +/g,''); //"thiscontainsspaces" 


Đã chỉnh sửa câu hỏi để tập trung hơn vào khía cạnh javascript. Có một cách đơn giản javascript tinh khiết để thực hiện điều này?

+1

Hãy xem sử dụng dấu gạch dưới.string, có nhiều phương pháp sạch sẽ như thế này sẽ giúp bạn, không yêu cầu gạch dưới. – adrian

Trả lời

38

Bạn đang gần.

Hãy nhớ rằng replacethay thế văn bản tìm thấy bằng đối số thứ hai. Vì vậy:

newString = string.replace(/\s+/g,''); // "thiscontainsspaces" 

Tìm số lượng không gian tuần tự bất kỳ và xóa chúng. Thay vào đó hãy thử thay thế chúng bằng một không gian duy nhất!

newString = string.replace(/\s+/g,' ').trim(); 
+0

cảm ơn! có ý nghĩa ... btw này thiếu một chức năng để cắt (không gian đơn đầu tiên và cuối cùng) :) –

+2

Đúng, nhưng bạn biết phải làm gì :) – Hamish

11
string.replace(/\s+/g, ' ').trim() 
4

tôi đã tìm ra một cách, nhưng tò mò nếu có một cách tốt hơn ...

string.replace(/\s+/g,' ').trim() 
+0

chuyển đổi thành một mảng byte, tự động lặp qua nó và xuất ra một mảng byte mới. Chuyển đổi mảng mới thành chuỗi .... tốt hơn? – dlamblin

+0

Đây là JS thuần túy, không phải jQuery. –

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