Tôi có một var chứa một danh sách lớn các từ [hàng triệu] ở định dạng này:
var words = "
car
house
home
computer
go
went
";
Tôi muốn tạo một chức năng sẽ thay thế dòng mới giữa mỗi từ bằng không gian.
Vì vậy, kết quả sẽ giống như thế này:
car house home computer go went
hỏi ngày 24 tháng 3 năm 2012 lúc 6:50Mar 24, 2012 at 6:50
Bạn có thể sử dụng hàm
car house home computer go went
0:words = words.replace[/\n/g, " "];
Lưu ý rằng bạn cần cờ
car house home computer go went
1 trên biểu thức thông thường để thay thế để thay thế tất cả các dòng mới bằng một không gian thay vì chỉ là cái đầu tiên.Ngoài ra, lưu ý rằng bạn phải gán kết quả của
car house home computer go went
0 cho một biến vì nó trả về một chuỗi mới. Nó không sửa đổi chuỗi hiện có. Các chuỗi trong JavaScript là bất biến [chúng không được sửa đổi trực tiếp] vì vậy mọi hoạt động sửa đổi trên một chuỗi như car house home computer go went
3, car house home computer go went
4, car house home computer go went
0, v.v. ... Trả về một chuỗi mới.let words = "a\nb\nc\nd\ne";
console.log["Before:"];
console.log[words];
words = words.replace[/\n/g, " "];
console.log["After:"];
console.log[words];
Đã trả lời ngày 24 tháng 3 năm 2012 lúc 6:56Mar 24, 2012 at 6:56
jfriend00jfriend00jfriend00
657K91 Huy hiệu vàng933 Huy hiệu bạc934 Huy hiệu Đồng91 gold badges933 silver badges934 bronze badges
1
Trong trường hợp có nhiều lần ngắt dòng [ký hiệu dòng mới] và nếu có thể có cả
car house home computer go went
6 hoặc car house home computer go went
7 và bạn cần thay thế tất cả các dòng tiếp theo bằng một không gian,var new_words = words.replace[/[\r\n]+/g," "];
Xem bản demo Regex
Để phù hợp với tất cả các ký tự ngắt dòng Unicode và thay thế/xóa chúng, hãy thêm
car house home computer go went
8 vào regex ở trên:all Unicode line break
characters and replace/remove them, add car house home computer go went
8 to the above regex:/[\r\n\x0B\x0C\u0085\u2028\u2029]+/g
car house home computer go went
9 có nghĩa là:
0 - Bắt đầu một lớp ký tự tích cực khớp với bất kỳ char nào được xác định bên trong nó:words = words.replace[/\n/g, " "];
6 - [car house home computer go went
2] -words = words.replace[/\n/g, " "];
3 - Trở lại vận chuyển [CR]words = words.replace[/\n/g, " "];
7 - [car house home computer go went
5] - ký tự nguồn cấp dữ liệu [LF]words = words.replace[/\n/g, " "];
6 - Tablation Line [LT]words = words.replace[/\n/g, " "];
7 - Form Feed [FF]words = words.replace[/\n/g, " "];
8 - Dòng tiếp theo [NEL]words = words.replace[/\n/g, " "];
9 - Dòng phân tách [LS]words = words.replace[/\n/g, " "];
0 - Bộ phân cách đoạn văn [PS]let words = "a\nb\nc\nd\ne"; console.log["Before:"]; console.log[words]; words = words.replace[/\n/g, " "]; console.log["After:"]; console.log[words];
1 - Kết thúc lớp nhân vậtlet words = "a\nb\nc\nd\ne"; console.log["Before:"]; console.log[words]; words = words.replace[/\n/g, " "]; console.log["After:"]; console.log[words];
2 - một bộ định lượng làm cho động cơ Regex khớp với nguyên tử trước đó [lớp ký tự ở đây] một hoặc nhiều lần [dòng liên tiếp được khớp]let words = "a\nb\nc\nd\ne"; console.log["Before:"]; console.log[words]; words = words.replace[/\n/g, " "]; console.log["After:"]; console.log[words];
3 - Tìm và thay thế tất cả các lần xuất hiện trong chuỗi được cung cấp.let words = "a\nb\nc\nd\ne"; console.log["Before:"]; console.log[words]; words = words.replace[/\n/g, " "]; console.log["After:"]; console.log[words];
var words = "car\r\n\r\nhouse\nhome\rcomputer\ngo\n\nwent";
document.body.innerHTML = "OLD:\n" + words + "
";
var new_words = words.replace[/[\r\n\x0B\x0C\u0085\u2028\u2029]+/g," "];
document.body.innerHTML += "NEW:\n" + new_words + "
";
Đã trả lời ngày 21 tháng 1 năm 2016 lúc 23:18Jan 21, 2016 at 23:18
Wiktor Stribiżewwiktor StribiżewWiktor Stribiżew
584K35 Huy hiệu vàng402 Huy hiệu bạc 504 Huy hiệu đồng35 gold badges402 silver badges504 bronze badges
Mã: [Đã sửa] [FIXED]
var new_words = words.replace[/\n/g," "];
Đã trả lời ngày 24 tháng 3 năm 2012 lúc 6:57Mar 24, 2012 at 6:57
Dr.KameleonDr.KameleonDr.Kameleon
22.3K19 Huy hiệu vàng111 Huy hiệu bạc218 Huy hiệu đồng19 gold badges111 silver badges218 bronze badges
2
Một số giải pháp đơn giản sẽ trông giống như
words.replace[/[\n]/g," "];
Đã trả lời ngày 24 tháng 3 năm 2012 lúc 6:55Mar 24, 2012 at 6:55
3
Không cần regex toàn cầu, sử dụng
let words = "a\nb\nc\nd\ne";
console.log["Before:"];
console.log[words];
words = words.replace[/\n/g, " "];
console.log["After:"];
console.log[words];
4 thay vì let words = "a\nb\nc\nd\ne";
console.log["Before:"];
console.log[words];
words = words.replace[/\n/g, " "];
console.log["After:"];
console.log[words];
5myString.replaceAll['\n', ' ']
Đã trả lời ngày 3 tháng 5 lúc 11:08May 3 at 11:08
enriquejr99enriquejr99enriquejr99
2313 Huy hiệu bạc3 Huy hiệu đồng3 silver badges3 bronze badges
1
Làm thế nào để bạn thay thế một đường ngắt trong không gian?
JavaScript có coi Newline là không gian không?
\ R làm gì trong javascript?
Làm cách nào để thay thế tất cả các giao dịch dòng trong một chuỗi bằng các phần tử BR />?
. The pattern /[\r\n|\r|\n]/ checks for line breaks. The pattern /g checks across all the string occurrences.