Javascript tìm dấu ngoặc kép trong chuỗi

Xin chào,

Sử dụng mã này, nó đã hoạt động trong Background Script

var regex =/"[.*?]"/g

var str = '"text1","text2","","","","text3","text4","text5"';

var finalResults = str.match[regex].map[function makeFinalArr[item]{
      return gs.print[item.replace[/\"/g, ""]];
}];

//finalResults; // ["text1", "text2","","", "text3", "text4,text5"]

hy vọng điều này sẽ hữu ích.
Vui lòng đánh dấu câu trả lời là Hữu ích/Chính xác, nếu có.

Trân trọng,
Hemant

Bạn đã thấy cả

'abc' === "abc"
2 và
'abc' === "abc"
3 được sử dụng để viết chuỗi trong JavaScript. Bạn đang băn khoăn không biết chúng có gì khác biệt. Có một sở thích hơn khác?

Họ là những điều tương tự

Trong JavaScript, chuỗi là một dãy các ký tự được đặt trong dấu nháy đơn hoặc kép. Việc lựa chọn phong cách trích dẫn là tùy thuộc vào lập trình viên và một trong hai phong cách không có ngữ nghĩa đặc biệt so với phong cách kia. Không có loại cho một ký tự trong JavaScript - mọi thứ luôn là một chuỗi

'abc' === "abc"

Chiến lược lựa chọn ký tự trích dẫn có thể giúp bạn thoát khỏi các ký tự

'abc' === "abc"
4 hoặc
'abc' === "abc"
5 bên trong chuỗi. Ví dụ: khi lưu trữ một đoạn mã HTML trong một biến, bạn có thể sử dụng
'abc' === "abc"
5 cho các giá trị thuộc tính HTML nếu bạn sử dụng
'abc' === "abc"
4 để đặt chuỗi JavaScript

const div = '
...
'

Hãy nhớ rằng trong JSON, ký tự trích dẫn duy nhất được phép là dấu ngoặc kép

{
    "in_json": "you_use_only_double_quotes"
}

Dấu nháy đơn phổ biến hơn

Kiểm tra một vài kho lưu trữ nguồn của các dự án JavaScript phổ biến cho thấy rằng dấu nháy đơn được ưa chuộng hơn dấu nháy kép

ProjectDominant quote stylelodash
'abc' === "abc"
4- 99% trích dẫnphấn
'abc' === "abc"
4- 100% trích dẫnphản ứng
'abc' === "abc"
4- 90% trích dẫnyêu cầu
'abc' === "abc"
4- 97% trích dẫnchỉ huy. js
'abc' === "abc"
4- 97% trích dẫn khoảnh khắc
'abc' === "abc"
4- 90% trích dẫn express
'abc' === "abc"
4- 92% trích dẫnstslib
'abc' === "abc"
5- 100% trích dẫndebug
'abc' === "abc"
4- 97% trích dẫnnode-fs-extra
'abc' === "abc"
4- 98% trích dẫnaxios
'abc' === "abc"
4- 81% trích dẫnSử dụng ký tự trích dẫn trong các dự án phổ biến

Thực tế là các thư viện giao diện người dùng có nhiều dấu ngoặc kép hơn các thư viện khác có thể liên quan đến sự hiện diện của các đoạn HTML

Nhìn vào một số hướng dẫn về phong cách cho thấy một cách tiếp cận hỗn hợp, khoảng một nửa đề xuất dấu nháy đơn và nửa còn lại đề xuất dấu ngoặc kép

  • ưu tiên đẹp hơn
    'abc' === "abc"
    5 trích dẫn kép theo mặc định
  • gjslint [Google Closure Linter] ủng hộ
    'abc' === "abc"
    4 dấu nháy đơn
  • tiêu chuẩn [gói NPM], ủng hộ dấu nháy đơn
    'abc' === "abc"
    4
  • jslint ủng hộ
    'abc' === "abc"
    5 dấu ngoặc kép theo mặc định
  • eslint ủng hộ
    'abc' === "abc"
    5 dấu ngoặc kép theo mặc định
  • Người đóng góp TypeScript Nguyên tắc mã hóa ủng hộ dấu ngoặc kép 15 dấu ngoặc kép

Gắn bó với một và giữ cho nó phù hợp

Để tránh phải lựa chọn mỗi khi sắp viết một chuỗi, bạn nên chọn một phong cách và gắn bó với phong cách đó. Nếu nhóm của bạn vẫn đang quyết định - hãy chọn các trích dẫn đơn, chúng phổ biến hơn. Trong ES6, bạn sẽ có tùy chọn thứ ba để đính kèm các chuỗi - chuỗi

{
    "in_json": "you_use_only_double_quotes"
}
6

Những bài viết liên quan

  • Giải thích cẩu biến
  • Tôi có nên sử dụng toán tử so sánh đẳng thức === hoặc == trong JavaScript không?
  • Hiểu thuộc tính nguyên mẫu trong JavaScript

Nút không đợi cuộc gọi cơ sở dữ liệu của bạn kết thúc?

Tìm hiểu cách cuộc gọi không đồng bộ hoạt động và làm cho ứng dụng của bạn chạy như bạn dự định. Nhận khóa học email ngắn về tính không đồng bộ và hai chương từ Hoàn thiện ứng dụng nút của bạn

Trong hướng dẫn này, chúng ta sẽ nghiên cứu các cách tiếp cận khác nhau để loại bỏ các dấu ngoặc kép bắt đầu và kết thúc khỏi một Chuỗi trong Java

Những gì chúng ta sẽ khám phá ở đây có thể hữu ích cho việc xử lý văn bản được trích xuất từ ​​tệp hoặc nhận được từ các nguồn khác

2. Cách tiếp cận đơn giản. phương thức chuỗi con

Đầu tiên, chúng ta sẽ bắt đầu với một cách tiếp cận đơn giản bằng cách sử dụng phương thức chuỗi con. Phương thức này có thể được gọi trên một đối tượng Chuỗi để trả về một chuỗi con cụ thể

Phương thức yêu cầu hai tham số

  1. beginIndex — chỉ mục của ký tự mà chuỗi con sẽ bắt đầu
  2. end Index - chỉ mục sau nơi chuỗi con sẽ kết thúc

Do đó, xét rằng Chuỗi đầu vào của chúng ta được đặt trong dấu ngoặc kép, chúng ta có thể sử dụng phương thức chuỗi con

String input = "\"text wrapped in double quotes\"";
String result = input.substring[1, input.length[] - 1];
System.out.println["Input: " + input];
System.out.println["Result: " + result];

Bằng cách thực thi đoạn mã trên, chúng ta có đầu ra sau

Input: "text wrapped in double quotes"
Result: text wrapped in double quotes

Nếu chúng tôi không chắc liệu Chuỗi có được đặt trong dấu ngoặc kép hay không, chúng tôi có thể kiểm tra nó trước khi chạy phương thức chuỗi con

if [input != null && input.length[] >= 2 
      && input.charAt[0] == '\"' && input.charAt[input.length[] - 1] == '\"'] {
    result = input.substring[1, input.length[] - 1];
}

Trong ví dụ trên, chúng tôi đã kiểm tra xem Chuỗi có ít nhất hai ký tự và nó bắt đầu và kết thúc bằng dấu ngoặc kép

3. Sử dụng phương pháp thay thế tất cả

Ngoài phương thức substring, chúng ta cũng có thể sử dụng phương thức replaceAll. Phương thức này thay thế tất cả các phần của Chuỗi khớp với một biểu thức chính quy đã cho. Sử dụng replaceAll, chúng tôi có thể loại bỏ tất cả các lần xuất hiện của dấu ngoặc kép bằng cách thay thế chúng bằng các chuỗi trống

________số 8

Một mặt, cách tiếp cận này có ưu điểm là loại bỏ tất cả các lần xuất hiện của dấu ngoặc kép, ngay cả khi chuỗi có nhiều dòng. Mặt khác, với cách tiếp cận này, chúng tôi không thể chỉ xóa dấu ngoặc kép ở đầu và cuối Chuỗi

Để loại bỏ dấu ngoặc kép ngay từ đầu và cuối Chuỗi, chúng ta có thể sử dụng biểu thức chính quy cụ thể hơn

String result = input.replaceAll["^\"|\"$", ""];

Sau khi thực hiện ví dụ này, các lần xuất hiện dấu ngoặc kép ở đầu hoặc cuối Chuỗi sẽ được thay thế bằng chuỗi rỗng

Để hiểu cách tiếp cận này, hãy chia nhỏ biểu thức chính quy của chúng ta

Đầu tiên, chúng ta có ký hiệu dấu mũ [^], theo sau là dấu ngoặc kép thoát [\”] để khớp với dấu ngoặc kép ở đầu Chuỗi. Sau đó, có một biểu tượng ống [. ] để chỉ ra một phương án phù hợp, tương tự như toán tử logic OR

Cuối cùng, chúng tôi đã thoát khỏi dấu ngoặc kép, theo sau là ký hiệu đô la [$] để khớp dấu ngoặc kép ở cuối Chuỗi

4. Dùng Ổi

Một cách tiếp cận khả thi khác để xóa dấu ngoặc kép ở đầu và cuối Chuỗi là sử dụng lớp CharMatcher từ thư viện Guava

'abc' === "abc"
0

Cách tiếp cận này dễ hiểu hơn và chỉ xóa các trích dẫn đầu và cuối khỏi Chuỗi. Tuy nhiên, để phương pháp này hoạt động, chúng ta cần thêm thư viện ổi vào dự án của mình

'abc' === "abc"
1

Trong trường hợp này, chúng tôi cần đặt thuộc tính ${guava-version} thành phiên bản mà chúng tôi muốn sử dụng

5. Phần kết luận

Trong bài viết này, chúng tôi đã khám phá các tùy chọn khác nhau để xóa dấu ngoặc kép ở đầu và cuối Chuỗi. Chúng ta có thể áp dụng bất kỳ phương pháp nào trong số này vào thực tế và mỗi phương pháp đều có ưu điểm và nhược điểm

Ví dụ: khi sử dụng thư viện Guava, chúng tôi có một giải pháp đơn giản và thanh lịch. Tuy nhiên, nếu Guava không được bao gồm trong dự án của chúng tôi, giải pháp này sẽ yêu cầu bổ sung một phụ thuộc mới

Chủ Đề