2014-04-07 13 views
12

Tôi muốn loại bỏ trở về vận chuyển và không gian từ một chuỗi cho dụ:Di trở về vận chuyển và không gian từ một chuỗi

var t ="  \n \n aaa \n bbb \n ccc \n"; 

Tôi muốn có kết quả:

t = "aaa bbb ccc" 

tôi sử dụng này một, nó loại bỏ trở lại vận chuyển nhưng tôi vẫn có khoảng cách

t.replace(/[\n\r]/g, ''); 

Xin vui lòng ai đó giúp tôi.

+0

thêm \ s với nó: '/ [\ s \ n \ r]/g' –

+0

@vp_arth điểm bao gồm '\ n' và' \ r' nếu '\ s' đã khớp với chúng như thế nào? –

+0

Có lẽ tôi đã sai ... Tôi nhớ một số thông tin về dòng sản phẩm và cờ toàn cầu .. có thể là về một điểm? xin lỗi) –

Trả lời

23

Hãy thử:

t.replace(/[\n\r]+/g, ''); 

Sau đó:

t.replace(/\s{2,10}/g, ' '); 

Một 2nd nên thoát khỏi hơn 1 không gian

15

Hoặc bạn có thể làm bằng regex duy nhất:

t.replace(/\s+/g, ' ') 

Ngoài ra, bạn sẽ cần phải gọi số .trim() vì không gian hàng đầu và cuối. Vì vậy, toàn bộ sẽ là:

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

nơi bạn tìm thấy trang trí? –

+1

@vp_arth Trong tất cả các trình duyệt chính và IE> 8. –

+1

+1 cho edest altest (đã xóa mỏ) – anubhava

0

Tuyệt vời! cảm ơn vì đã chia sẻ Ulugbek. Tôi đã sử dụng đoạn mã sau để có các giá trị được phân cách bằng dấu phẩy từ một máy quét mã vạch. Bất cứ lúc nào nút máy quét mã vạch được nhấn, các dấu cách và khoảng trống vận chuyển được chuyển thành dấu phẩy.

Java Script:

function KeyDownFunction() { 
    var txt = document.getElementById("<%=txtBarcodeList.ClientID %>"); 
    txt.value = txt.value.replace(/\s+/g, ',').trim(); 
} 

Markup:

<asp:TextBox ID="txtBarcodeList" runat="server" TextMode="MultiLine" Columns="100" 
        Rows="6" onKeyDown="KeyDownFunction()"></asp:TextBox> 
1

tôi sẽ đề nghị

  • để xóa vận chuyển trở lại => không gian
  • để thay thế nhiều khoảng trống bằng một trong những đơn
  • để xóa ở đầu và đuôi không gian (giống như jQuery cắt())

Như vậy

t.replace(/[\n\r]+/g, ' ').replace(/\s{2,}/g,' ').replace(/^\s+|\s+$/,'') 
Các vấn đề liên quan