Hướng dẫn python string replace single quote with two single quotes - chuỗi python thay thế một dấu ngoặc kép bằng hai dấu nháy đơn

43

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Vì vậy, tôi đang tạo một chương trình lấy một tệp văn bản, chia nó thành từ, sau đó viết danh sách vào một tệp văn bản mới.

Vấn đề tôi đang gặp phải là tôi cần các chuỗi trong danh sách để được trích dẫn đôi không phải là trích dẫn đơn.

Ví dụ

Tôi nhận được cái này ['dog','cat','fish'] khi tôi muốn cái này ["dog","cat","fish"]

Đây là mã của tôi

with open('input.txt') as f:
    file = f.readlines()
nonewline = []
for x in file:
    nonewline.append(x[:-1])
words = []
for x in nonewline:
    words = words + x.split()
textfile = open('output.txt','w')
textfile.write(str(words))

Tôi chưa quen với Python và không tìm thấy bất cứ điều gì về điều này. có ai biết cách giải quyết cái này không?

[Chỉnh sửa: Tôi quên đề cập rằng tôi đã sử dụng đầu ra trong một dự án Arduino yêu cầu danh sách có báo giá kép.]

Đã hỏi ngày 12 tháng 2 năm 2017 lúc 2:06Feb 12, 2017 at 2:06

Hướng dẫn python string replace single quote with two single quotes - chuỗi python thay thế một dấu ngoặc kép bằng hai dấu nháy đơn

ThatokaythatsokayThatsOkay

4331 Huy hiệu vàng4 Huy hiệu bạc 6 Huy hiệu Đồng1 gold badge4 silver badges6 bronze badges

3

Bạn không thể thay đổi cách str hoạt động cho list.

Làm thế nào về việc sử dụng định dạng JSON sử dụng " cho chuỗi.

>>> animals = ['dog','cat','fish']
>>> print(str(animals))
['dog', 'cat', 'fish']

>>> import json
>>> print(json.dumps(animals))
["dog", "cat", "fish"]

import json

...

textfile.write(json.dumps(words))

Đã trả lời ngày 12 tháng 2 năm 2017 lúc 2:12Feb 12, 2017 at 2:12

Falsetrufalsetrufalsetru

344K58 Huy hiệu vàng685 Huy hiệu bạc609 Huy hiệu đồng58 gold badges685 silver badges609 bronze badges

8

Nhiều khả năng bạn sẽ muốn thay thế các trích dẫn duy nhất bằng dấu ngoặc kép trong đầu ra của bạn bằng cách thay thế chúng:

str(words).replace("'", '"')

Bạn cũng có thể mở rộng loại ____ của Python và bọc chuỗi của bạn bằng loại mới Thay đổi phương thức

>>> animals = ['dog','cat','fish']
>>> print(str(animals))
['dog', 'cat', 'fish']

>>> import json
>>> print(json.dumps(animals))
["dog", "cat", "fish"]
1 để sử dụng báo giá kép thay vì đơn. Tuy nhiên, tốt hơn là đơn giản và rõ ràng hơn với mã ở trên.

class str2(str):
    def __repr__(self):
        # Allow str.__repr__() to do the hard work, then
        # remove the outer two characters, single quotes,
        # and replace them with double quotes.
        return ''.join(('"', super().__repr__()[1:-1], '"'))

>>> "apple"
'apple'
>>> class str2(str):
...     def __repr__(self):
...         return ''.join(('"', super().__repr__()[1:-1], '"'))
...
>>> str2("apple")
"apple"
>>> str2('apple')
"apple"

Đã trả lời ngày 12 tháng 2 năm 2017 lúc 2:28Feb 12, 2017 at 2:28

HarveyharveyHarvey

5.5231 Huy hiệu vàng31 Huy hiệu bạc39 Huy hiệu đồng1 gold badge31 silver badges39 bronze badges

Trong Python, trích dẫn kép và trích dẫn đơn là như nhau. Không có gì khác biệt giữa họ. Và không có điểm nào để thay thế một báo giá bằng một trích dẫn kép và ngược lại:

2.4.1. Chuỗi và byte theo nghĩa đen

... bằng tiếng Anh đơn giản: Cả hai loại chữ có thể được đặt trong các trích dẫn đơn (') hoặc trích dẫn kép ("). Chúng cũng có thể được đặt trong các nhóm phù hợp của ba trích dẫn đơn hoặc đôi (chúng thường được gọi là ba -quoted String). Ký tự dấu gạch chéo ngược () được sử dụng để thoát khỏi các ký tự có ý nghĩa đặc biệt, chẳng hạn như Newline, chính bản sao lại hoặc ký tự trích dẫn ...

"Vấn đề tôi đang gặp phải là tôi cần các chuỗi trong danh sách với các trích dẫn kép không phải là trích dẫn đơn." - Sau đó, bạn cần làm cho chương trình của bạn chấp nhận các trích dẫn đơn, không cố gắng thay thế các trích dẫn đơn bằng trích dẫn kép.

Đã trả lời ngày 12 tháng 2 năm 2017 lúc 2:13Feb 12, 2017 at 2:13

Hướng dẫn python string replace single quote with two single quotes - chuỗi python thay thế một dấu ngoặc kép bằng hai dấu nháy đơn

Huy Vohuy VoHuy Vo

2.3346 Huy hiệu vàng26 Huy hiệu bạc43 Huy hiệu đồng6 gold badges26 silver badges43 bronze badges

1

Làm thế nào để bạn thay thế một trích dẫn duy nhất bằng một trích dẫn kép trong Python?

Sử dụng phương thức json.dumps () để thay thế đơn bằng dấu ngoặc kép trong danh sách, ví dụ:json_str = json.bãi rác (my_list). dumps() method to replace single with double quotes in a list, e.g. json_str = json. dumps(my_list) .

Làm thế nào để bạn thay thế các trích dẫn đơn bằng dấu ngoặc kép?

Sử dụng phương thức String.replace () để thay thế gấp đôi bằng các trích dẫn đơn, ví dụ:const thay thế = str.thay thế (/"/g replace() method to replace double with single quotes, e.g. const replaced = str. replace(/"/g, "'"); . The replace method will return a new string where all occurrences of double quotes are replaced with single quotes.

Làm cách nào để chuyển đổi một chuỗi thành một báo giá kép trong Python?

Trong một chuỗi được đặt trong các trích dẫn kép ", có thể sử dụng các trích dẫn đơn lẻ, nhưng trích dẫn kép" phải được thoát ra bằng dấu gạch chéo ngược và được viết là \ ".must be escaped with a backslash and written as \" .

Làm thế nào để bạn thay thế một trích dẫn duy nhất trong một chuỗi trong Python?

Phương pháp 1: Sử dụng phương thức thay thế () để thay thế một trích dẫn duy nhất từ chuỗi, bạn sẽ vượt qua hai tham số.Đầu tiên là chuỗi bạn muốn thay thế và chuỗi khác là chuỗi bạn muốn đặt.Trong trường hợp của chúng tôi là chuỗi.thay thế(" ' "," ").Using the replace() method To replace a single quote from the string you will pass the two parameters. The first is the string you want to replace and the other is the string you want to place. In our case it is string. replace(” ' “,” “).