Hướng dẫn javascript replace newline with space - javascript thay thế dòng mới bằng dấu cách

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ướng dẫn javascript replace newline with space - javascript thay thế dòng mới bằng dấu cách

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

Hướng dẫn javascript replace newline with space - javascript thay thế dòng mới bằng dấu cách

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à:

  • words = words.replace(/\n/g, " ");
    
    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ó:
    • car house home computer go went
      
      6 - (
      words = words.replace(/\n/g, " ");
      
      2) -
      words = words.replace(/\n/g, " ");
      
      3 - Trở lại vận chuyển (CR)
    • car house home computer go went
      
      7 - (
      words = words.replace(/\n/g, " ");
      
      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)
    • let words = "a\nb\nc\nd\ne";
      console.log("Before:");
      console.log(words);
      words = words.replace(/\n/g, " ");
      
      console.log("After:");
      console.log(words);
      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ật
  • let 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.

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

Hướng dẫn javascript replace newline with space - javascript thay thế dòng mới bằng dấu cách

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

Hướng dẫn javascript replace newline with space - javascript thay thế dòng mới bằng dấu cách

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

Hướng dẫn javascript replace newline with space - javascript thay thế dòng mới bằng dấu cách

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);
5

myString.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?

Để thay thế một đường ngắt bằng một ký tự không gian:..
Chọn các ô mà bạn muốn tìm kiếm ..
Trên bàn phím, nhấn Ctrl + H để mở hộp thoại Tìm và thay thế, với tab Thay thế hoạt động ..
Trên tab Thay thế, nhấp vào Tìm hộp nào ..
Trên bàn phím, nhấn Ctrl + J để nhập ký tự ngắt dòng ..

JavaScript có coi Newline là không gian không?

JavaScript bỏ qua các không gian, tab và dòng mới xuất hiện trong các chương trình JavaScript. that appear in JavaScript programs.

\ R làm gì trong javascript?

Metacharacter regexp \ r trong JavaScript được sử dụng để tìm ký tự trả lại vận chuyển (trở lại vận chuyển có nghĩa là trở về đầu dòng hiện tại mà không tiến xuống dưới).Nếu nó được tìm thấy, nó trả về vị trí khác, nó sẽ trả về -1.to find the carriage return character (Carriage return means to return to the beginning of the current line without advancing downward). If it is found it returns the position else it returns -1.

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 />?

REGEX được sử dụng với phương thức thay thế () để thay thế tất cả các lỗi dòng theo chuỗi bằng.Mẫu / (\ r \ n | \ r | \ n) / kiểm tra các lần phá vỡ đường.Mẫu /G kiểm tra trên tất cả các lần xuất hiện chuỗi. to replace all the line breaks in string with
. The pattern /(\r\n|\r|\n)/ checks for line breaks. The pattern /g checks across all the string occurrences.