Cách in dấu nháy kép và nháy đơn trong Python

Trong Python, các chuỗi được đặt trong dấu ngoặc đơn hoặc dấu ngoặc kép. Dấu ngoặc đơn có thể được thay thế bằng dấu ngoặc kép và ngược lại trong Python bằng bất kỳ phương pháp nào sau đây

Trích dẫn đơn đến trích dẫn kép và ngược lại

Sử dụng str. chức năng thay thế ()

1

2

3

str1 = "Đây là 'một chuỗi ví dụ"

a = str1. thay thế("'", "\"")

in(a)

đầu ra

This "is "an example" string

Sử dụng hàm sub() trong gói re

1

2

3

4

5

nhập lại

 

str1 =  'Đây là "trích dẫn nhúng" bên trong chuỗi chính. '

str1_replaced = re. phụ("\"", "'", str1)

print(str1_replaced)

đầu ra

This is an 'embedded quote' inside main string.

Sử dụng str. maketrans()

1

2

3

4

5

string_trans = "'Tốt\", 'ngày"

# Hy vọng bạn biết tại sao chúng tôi phải thoát (\) dấu ngoặc kép chứ không phải dấu ngoặc đơn

# Đã thảo luận trước đó

stringn1 = string_trans. dịch(str. maketrans({'"': '\'', "'". "\""}))

print(stringn1)

đầu ra

"Good', "day

Sử dụng mô-đun JSON của Python

Chúng tôi sử dụng mô-đun này để thay thế dấu nháy đơn bằng dấu nháy kép trong danh sách chuỗi

1

2

3

4

5

nhập json

 

lst1 = ['Single1', "Double", 'Single2', 'Single3']

lst2 = json. kết xuất(lst1)

in(lst2)

đầu ra

["Single1", "Double", "Single2", "Single3"]

Dấu ngoặc kép (dấu nháy đơn hoặc nháy kép) được sử dụng để tạo đối tượng chuỗi trong Python. Bài viết này sẽ thảo luận về cách thay thế dấu nháy đơn bằng dấu ngoặc kép

Dấu ngoặc kép trong Python

Một chuỗi Python chỉ có thể được mở và đóng bằng cùng một loại dấu ngoặc kép, dấu ngoặc đơn hoặc dấu ngoặc kép. Nói cách khác, về mặt cú pháp, một chuỗi ký tự kết thúc tại thời điểm dấu ngoặc kép thứ hai được tìm thấy, đơn hoặc kép (có một ngoại lệ đối với điều này. Tìm ra bên dưới)

1

2

valid_string = "Đây là một chuỗi ký tự hợp lệ. " # Bạn có thể sử dụng dấu nháy đơn ở đây

in(valid_string)

đầu ra

This is a valid string literal.

1

2

invalid_s = "Phần này ổn" ab outside"

in(invalid_s)

đầu ra

SyntaxError: invalid syntax

Đoạn mã trên gặp lỗi cú pháp vì chuỗi kết thúc ở trích dẫn thứ hai và do đó Python không mong đợi các ký tự đến sau đó là ab bên ngoài”

Nói đến đây chúng ta có thể thấy dấu ngoặc kép là ký tự đặc biệt trong Python. Tuy nhiên, dấu gạch chéo ngược (\) có thể được sử dụng làm ký tự thoát để chuyển đổi dấu ngoặc kép thành ký tự chuỗi ký tự. Ví dụ

1

2

escaped_quote = "Phần này vẫn ổn\" ab bên ngoài"

in(escaped_quote)

đầu ra

This section is OK" ab outside

Trong ví dụ này, dấu ngoặc kép thứ hai đã được xử lý như một ký tự chuỗi thông thường và do đó được in ra

Nếu một dấu ngoặc kép thuộc một loại khác được sử dụng bên trong một chuỗi, thì chúng được coi là ký tự chuỗi ký tự

1

2

3

4

embedded_quote1 = "Phần này là 'dấu ngoặc kép được nhúng' bên ngoài"

embedded_quote2 = 'Phần này là "dấu ngoặc kép được nhúng" bên ngoài'

in(embedded_quote1)

in(embedded_quote2)

đầu ra

This section is 'embedded quotes' outside
This section is "embedded quotes" outside

Thay thế dấu nháy đơn trong Python bằng dấu nháy kép và ngược lại [giải thích chi tiết]

Trong Python, điều này có thể đạt được thông qua các phương thức khác nhau, chẳng hạn như sử dụng str. thay thế () hoặc lại. phụ(). Gói json sẵn có có thể được sử dụng để thay thế các dấu nháy đơn bằng dấu nháy kép trong danh sách các chuỗi

lưu ý 1. Thay thế dấu ngoặc kép trong bài viết này có nghĩa là thay thế dấu ngoặc kép trong một chuỗi hợp lệ và không thay thế dấu ngoặc kép bao quanh chính chuỗi đó

Phương pháp 1. Sử dụng str. chức năng thay thế ()

1

2

3

4

5

string1 = "'Quản trị tốt là điều người dân mong muốn. ' - Thống đốc nói"

# dấu gạch chéo ngược tạo dấu ngoặc kép cho ký tự chuỗi ký tự

# dấu ngoặc kép thuộc loại khác được coi là một chuỗi bình thường

# khi nó xuất hiện giữa dấu ngoặc kép xác thực

in(string1. thay thế("'", "\""))

đầu ra

________số 8_______

1

2

string2 = 'Đây là "trích dẫn nhúng" trong chuỗi chính. '

in(string2. thay thế('"', "'"))

đầu ra

This is an 'embedded quote' within the main string.

Phương pháp 2. Sử dụng hàm sub() trong gói re

Gói re trong Python nắm bắt các mẫu trong chuỗi bằng cách sử dụng các biểu thức chính quy. Ở đó. hàm sub() có ích trong ứng dụng của chúng ta. Nó có thể được sử dụng để tìm và thay thế các chuỗi con trong chuỗi chính. Dưới đây là một số ví dụ về cách tái. phụ() có thể được sử dụng

1

2

3

4

5

nhập lại

 

string_re = "Đây là 'trích dẫn nhúng' bên trong chuỗi chính. "

substring_replaced = re. phụ("'", "\"", string_re)

in(substring_replaced)

đầu ra

This is an 'embedded quote' inside main string.
0

Phương pháp 3. Sử dụng hàm translate() trong Python

Chức năng này, cùng với str. maketrans(),  thay thế một hoặc nhiều ký tự dựa trên các định nghĩa được tạo trong từ điển Python hợp lệ, như minh họa bên dưới. Từ điển dịch thuật phải có một ký tự duy nhất làm khóa

1

2

3

4

5

string_trans = "book'pencil\"ink'pen'rubber"

# Hy vọng bạn biết tại sao chúng tôi phải thoát khỏi dấu ngoặc kép và không phải dấu ngoặc đơn

# Đã thảo luận trước đó

stringn1 = string_trans. dịch(str. maketrans({'"': '\'', "'". "\""}))

print(stringn1)

đầu ra

This is an 'embedded quote' inside main string.
1

Đoạn mã trên thay thế dấu ngoặc kép bằng dấu ngoặc đơn và ngược lại

Phương pháp 4. Sử dụng mô-đun JSON

Đây là trường hợp đặc biệt để thay thế dấu ngoặc đơn trong danh sách chuỗi bằng dấu ngoặc kép. Đó là một tiêu chuẩn cho gói json sử dụng dấu ngoặc kép trên các chuỗi trong danh sách do đó cần phải thay thế này

1

2

3

b_list = ['Elijah', "Caroline", "Tomasz", "Smith"]

b_list = json. kết xuất(b_list)

in(b_list)

đầu ra

This is an 'embedded quote' inside main string.
2

1

2

3

b_list1 = 'Elijah'

b_list1 = json. kết xuất(b_list1)

in(b_list1)

đầu ra

This is an 'embedded quote' inside main string.
3

Lưu ý rằng có dấu ngoặc kép trong đầu ra trong trường hợp thứ hai. Điều này là do dấu ngoặc kép là một phần của chuỗi trong trường hợp này. Trong thực tế thông thường, json thay thế dấu ngoặc đơn bằng dấu ngoặc kép trên danh sách lò xo như trong ví dụ đầu tiên. Trường hợp thứ hai ít được sử dụng vì nó không có trường hợp nào thường được sử dụng

Bạn có thể trộn dấu ngoặc đơn và dấu ngoặc kép trong Python không?

Như bạn để ý, các chuỗi được tạo bằng cách sử dụng dấu ngoặc đơn và dấu ngoặc kép đều giống nhau. Nói cách khác, chúng ta có thể sử dụng dấu ngoặc đơn và dấu ngoặc kép thay thế cho nhau khi chúng ta khai báo một chuỗi. Tuy nhiên, cần lưu ý rằng chúng tôi không muốn trộn chúng vì đó là lỗi cú pháp .

Làm cách nào để thay thế dấu ngoặc đơn bằng dấu ngoặc kép trong chuỗi Python?

Hàm replace() trong Python là phương thức được sử dụng nhiều nhất để thay thế một phần của chuỗi bằng một chuỗi con khác . Chúng ta phải chỉ định cả chuỗi con trong hàm và một chuỗi mới được trả về chứa các ký tự được thay thế. Chúng ta có thể sử dụng nó để thay thế dấu ngoặc đơn bằng dấu ngoặc kép trong Python.