Làm cách nào để thay thế dấu ngoặc kép thành dấu ngoặc đơn trong JavaScript?

Ví dụ này sẽ chỉ cho bạn cách thay thế một trích dẫn từ một chuỗi. Phương thức thay thế javascript mặc định sẽ thay thế lần xuất hiện đầu tiên của trích dẫn đơn, để thay thế tất cả các lần xuất hiện, chúng tôi phải sử dụng biểu thức chính quy

  • Xóa tất cả các dấu ngoặc đơn khỏi một chuỗi

    var outputstr= chuỗi đầu vào. thay thế[/'/g,''];


  • Thay thế tất cả các dấu ngoặc đơn bằng dấu ngoặc kép trong một chuỗi

    var outputstr= chuỗi đầu vào. thay thế[/'/g,'"'];



Thí dụ

     

Giả sử bạn có một chuỗi có dấu ngoặc kép đơn hoặc kép trong JavaScript. Và, vì lý do này hay lý do khác, bạn muốn xóa các dấu ngoặc kép đó khỏi chuỗi của mình

Cách tốt nhất để thực hiện điều này là gì?

Để xóa dấu ngoặc kép khỏi chuỗi trong JavaScript, hãy sử dụng phương thức String.replace[]. Bạn có thể nhắm mục tiêu dấu ngoặc kép bằng RegEx và thay thế chúng bằng giá trị null

Cú pháp của phương thức String.replace[] như sau

String.replace[pattern, replacement];

Như bạn có thể thấy từ đoạn mã trên, Chuỗi. Phương thức replace[] cho phép bạn thay thế một pattern bằng một replacement, trong đó

  • pattern là một chuỗi hoặc RegEx;
  • replacement là một chuỗi khác hoặc một hàm được gọi cho mỗi trận đấu

Nó tương thích với tất cả các trình duyệt web cũ và hiện đại, bao gồm Internet Explorer 6+, Microsoft Edge 12+ và Safari 3. 1+. Vì vậy, khả năng tương thích, ngay cả đối với người dùng có phần mềm lỗi thời, sẽ không thành vấn đề

Làm thế nào nó hoạt động

Giả sử rằng, trong ứng dụng JavaScript của chúng ta, có một chuỗi tên là

// Store quote in string
let myString = '"One only understands the things that one tames," said the fox.'
1

Cũng giả sử rằng, trong

// Store quote in string
let myString = '"One only understands the things that one tames," said the fox.'
1, chúng ta đã lưu trữ câu trích dẫn sau đây từ Hoàng tử bé của Antoine de Saint-Exupéry

// Store quote in string
let myString = '"One only understands the things that one tames," said the fox.'

Để xóa dấu ngoặc kép [“”] khỏi

// Store quote in string
let myString = '"One only understands the things that one tames," said the fox.'
1, chúng ta sẽ sử dụng hàm String.replace[]

// Store quote in string
let myString = '"One only understands the things that one tames," said the fox.'

// Remove double quotation marks from string
console.log[myString.replace[/["]/g, '']];

Lưu ý

// Store quote in string
let myString = '"One only understands the things that one tames," said the fox.'
5 ở cuối biểu thức chính quy của chúng ta. Nó là viết tắt của
// Store quote in string
let myString = '"One only understands the things that one tames," said the fox.'
6 và nó làm cho mẫu có thể áp dụng cho tất cả các trường hợp của ký hiệu trích dẫn, không chỉ trường hợp đầu tiên. [Không có nó, chỉ những trích dẫn đầu tiên sẽ bị xóa. ]

Đầu ra là một chuỗi có dấu ngoặc kép được loại bỏ thành công

________số 8_______

Hãy thử đoạn mã trên. Hãy mở các công cụ phát triển của trình duyệt của bạn ngay bây giờ và sao chép/dán phần này vào bảng điều khiển

Giải pháp tốt nhất

Khi phải xóa dấu ngoặc kép khỏi một chuỗi, bạn có thể gặp bốn loại dấu ngoặc kép. Có các dấu ngoặc kép thẳng đơn, thẳng kép, cong đơn và cong kép

Các vấn đề còn phức tạp hơn bởi thực tế là dấu ngoặc kép đơn và kép có thể mở [nghiêng về phía trước] hoặc đóng [nghiêng về phía sau]

Nếu, tại bất kỳ thời điểm nào, bạn không thể chắc chắn chuỗi của mình có thể có loại dấu ngoặc kép nào, cách tốt nhất là viết RegEx bao gồm tất cả các dấu ngoặc kép đó

// Store quote in string
let myString = '“One only understands the things that one tames,“ said the fox.'

// Remove single, double, or curly quotation marks from string
console.log[myString.replace[/['‘’"“”]/g, '']];

Điều này làm cho biểu thức chính quy dài hơn và do đó kém hiệu quả hơn. Tuy nhiên, nó làm cho nó có hiệu quả phổ biến trong việc loại bỏ dấu ngoặc kép, bất kể ký hiệu là gì.

Thông thường, trong khi mã hóa bằng javascript, bạn sẽ bắt gặp việc sử dụng dấu ngoặc kép 'đơn' hoặc "kép" cho các chuỗi và sẽ tự hỏi, nếu có bất kỳ sự khác biệt thực sự nào giữa hai chuỗi này và nếu có, liệu có lợi thế hơn khi sử dụng một chuỗi không? . đọc tiếp

Mục lục

  • Sự khác biệt giữa hai kiểu trích dẫn
  • Lựa chọn phong cách trích dẫn phù hợp
  • Báo giá đơn so với báo giá kép - Ưu và nhược điểm
  • lời chia tay

Sự khác biệt giữa hai phong cách trích dẫn

Cả dấu ngoặc đơn [' '] và dấu ngoặc kép [""] đều được sử dụng để biểu thị một chuỗi trong Javascript. Chọn một phong cách trích dẫn là tùy thuộc vào bạn và không có ngữ nghĩa đặc biệt nào cho phong cách này so với phong cách kia. Tuy nhiên, điều quan trọng cần lưu ý là không có loại ký tự đơn nào trong javascript, mọi thứ luôn là một chuỗi

'apple' === "apple"

Một số điểm chính khác mà cả hai phong cách trích dẫn như sau

  • Cho dù bạn mở một chuỗi bằng kiểu trích dẫn nào, hãy đóng nó bằng cùng một kiểu
  • 'apple' //correct
    "apple" //correct
    "apple' //incorrect
    
  • Hệ thống không quan tâm bạn sử dụng cái nào
  • Trên bàn phím tiếng Đức, tiếng Hungary, tiếng Áo và nhiều bàn phím khác, bạn phải sử dụng phím Shift cho cả dấu ngoặc đơn hoặc dấu ngoặc kép
  • Trên bàn phím Q của Thổ Nhĩ Kỳ, chúng ta cần nhấn Shift để có dấu nháy đơn chứ không phải dấu nháy kép

Lựa chọn phong cách trích dẫn phù hợp

Lựa chọn trích dẫn khôn ngoan có thể giúp bạn thoát khỏi các trích dẫn đơn ['] hoặc kép ["] trong một chuỗi. Ví dụ: nếu bạn muốn lưu trữ một đoạn mã HTML trong một biến, bạn có thể sử dụng dấu ngoặc kép ["] cho các giá trị thuộc tính HTML và sử dụng dấu ngoặc đơn ['] để bao quanh chuỗi JavaScript

var div = '
...
'

Trích dẫn trong một trích dẫn

Sử dụng trích dẫn trong một chuỗi dẫn đến lỗi. Ví dụ,

var message='Javascript's beauty is simplicity';

Không có cách nào để trình duyệt biết cái nào là trích dẫn kết thúc. Trình thông dịch thấy trích dẫn thứ hai trong 'Javascript's là trích dẫn kết thúc - vì vậy phần còn lại của dòng trở nên không hợp lệ

Chúng ta có thể khắc phục điều này bằng cách sử dụng thực tế là javascript cho phép cả dấu ngoặc đơn và dấu ngoặc kép xác định một chuỗi. Vì vậy, trong trường hợp này, bạn có thể sử dụng dấu ngoặc kép

var message="Javascript's beauty is simplicity";

Một phương pháp thay thế là thoát khỏi các hộp trích dẫn bằng cách sử dụng dấu gạch chéo lên "\". Bạn sử dụng dấu gạch chéo phía trước ký tự mà bạn định trốn thoát. Vì vậy, thông điệp tương tự trở thành

var message='Javascript\'s beauty is simplicity';

Những điểm cần nhớ

  • Chuỗi trích dẫn kép có thể có dấu nháy đơn mà không thoát khỏi chúng, ngược lại, chuỗi trích dẫn đơn có thể có dấu nháy kép bên trong mà không cần phải thoát chúng
  • Dấu nháy kép [ \" ] phải thoát khỏi dấu nháy kép và ngược lại dấu nháy đơn [ \' ] phải thoát khỏi dấu nháy đơn

Báo giá đơn so với báo giá kép - Ưu và nhược điểm

ưu

Dấu ngoặc kép                                Dấu ngoặc kép Dễ dàng đọc hơn đối với chuỗi trống [' '] trông   tốt hơn ["" ""] Trong JSON, kiểu trích dẫn duy nhất được phép là dấu ngoặc kép [" "] Dễ dàng hơn nếu bạn muốn viết html trong javascript Loại bỏ nhu cầu thoát

Nhược điểm

Dấu nháy đơn                                Dấu nháy kép  Không được JSON hỗ trợ  Phải nhấn một phím phụ [Shift]  khi muốn sử dụng dấu ngoặc kép

Phong cách trích dẫn phổ biến

Xem xét một vài dự án JavaScript phổ biến, chúng ta có thể thấy một ưu tiên rõ ràng cho dấu ngoặc đơn hơn dấu ngoặc kép

Dự án Trích dẫn chi phối     phong cách lodash  ' - 99% trích dẫn phấn  ' - 100% trích dẫn phản ứng  ' - 90% trích dẫn yêu cầu  ' - 97% trích dẫn chỉ huy. js  ' - 97% dấu ngoặc kép thời điểm  ' - 90% dấu ngoặc kép express  ' - 92% dấu ngoặc kép tslib  " - 100% dấu ngoặc kép gỡ lỗi  ' - 97% dấu ngoặc kép node-fs-extra  ' - 98% dấu ngoặc kép axios  ' - 81

Dữ liệu thu được từ https. //bytearcher. com/

Tuy nhiên, một số lượng đáng kể các thư viện giao diện người dùng thích kiểu trích dẫn kép có thể liên quan đến sự hiện diện của các đoạn HTML

Làm cách nào để thay đổi dấu ngoặc kép thành dấu ngoặc đơn trong JavaScript?

Sử dụng Chuỗi. phương thức replace[] để thay thế dấu nháy kép bằng dấu nháy đơn , e. g. const thay thế = str. thay thế[/"/g, "'"];. Phương thức thay thế [] sẽ trả về một chuỗi mới trong đó tất cả các lần xuất hiện của dấu ngoặc kép được thay thế bằng dấu ngoặc đơn.

Làm cách nào để thay thế dấu ngoặc kép trong JavaScript?

Để thay thế dấu nháy đơn bằng dấu nháy kép trong một chuỗi, bạn có thể sử dụng phương thức JavaScript, bao gồm phương thức replace[] và phương thức replaceAll[]. Only the first occurrence is replaced by the replace[] method; to replace all instances, use the regex in it.

Làm cách nào để thay thế dấu ngoặc đơn thay vì dấu ngoặc kép trong mảng JavaScript?

phương thức replace[] để thay thế dấu nháy đơn bằng dấu nháy kép trong một chuỗi, e. g. const thay thế = str. thay thế[/'/g, " ];. Phương thức thay thế sẽ trả về một chuỗi mới trong đó tất cả các lần xuất hiện của dấu ngoặc đơn được thay thế bằng dấu ngoặc kép.

Làm cách nào để xóa dấu ngoặc kép khỏi chuỗi trong JavaScript?

Các cách để xóa dấu ngoặc kép khỏi chuỗi trong JavaScript .
Sử dụng thay thế[]
Sử dụng replaceAll[]
Sử dụng phương thức split[] và join[]
Sử dụng vòng lặp

Chủ Đề