Cảm ơn các bạn, việc thay thế dấu gạch chéo ngược kép đã hoạt động. Tuy nhiên, tôi vẫn gặp khó khăn khi chuyển chuỗi của mình tới hệ điều hành. phương pháp chdir. Tôi mặc dù chdir không thích dấu gạch chéo ngược, nhưng ngay cả khi tôi thay đổi chúng thành dấu gạch chéo lên thì nó vẫn báo cho tôi "lỗi cửa sổ". Có mẹo nào để thực hiện công việc đó không?
Ở đây tôi không cần dấu gạch chéo ngược vì thực ra tôi đang phân tích tệp xml có thẻ ở định dạng trên, vì vậy nếu có dấu gạch chéo ngược thì nó sẽ hiển thị
------------------------------------------------------------
File "", line 1
result = string.replace["\",'']
^
SyntaxError: EOL while scanning string literal
2 trong khi phân tích cú phápTôi có thể biết cách thay thế dấu gạch chéo ngược bằng chuỗi rỗng trong python không
Giải pháp tốt nhất
result = string.replace["\\",""]
Giải pháp liên quan
Python – Cách kiểm tra xem danh sách có trống không
if not a:
print["List is empty"]
Việc sử dụng giá trị boolean ngầm định của
------------------------------------------------------------
File "", line 1
result = string.replace["\",'']
^
SyntaxError: EOL while scanning string literal
3 trống là khá phức tạpCách thay thế một ký tự bằng một dòng mới trong Vim
Sử dụng ------------------------------------------------------------
File "", line 1
result = string.replace["\",'']
^
SyntaxError: EOL while scanning string literal
4 thay vì ------------------------------------------------------------
File "", line 1
result = string.replace["\",'']
^
SyntaxError: EOL while scanning string literal
5
------------------------------------------------------------
File "", line 1
result = string.replace["\",'']
^
SyntaxError: EOL while scanning string literal
------------------------------------------------------------
File "", line 1
result = string.replace["\",'']
^
SyntaxError: EOL while scanning string literal
Thay thế bằng
------------------------------------------------------------
File "", line 1
result = string.replace["\",'']
^
SyntaxError: EOL while scanning string literal
5 sẽ chèn một ký tự null vào văn bản. Để có một dòng mới, hãy sử dụng ------------------------------------------------------------
File "", line 1
result = string.replace["\",'']
^
SyntaxError: EOL while scanning string literal
4. Tuy nhiên, khi tìm kiếm một dòng mới, bạn vẫn sử dụng ------------------------------------------------------------
File "", line 1
result = string.replace["\",'']
^
SyntaxError: EOL while scanning string literal
5. Sự bất đối xứng này là do ------------------------------------------------------------
File "", line 1
result = string.replace["\",'']
^
SyntaxError: EOL while scanning string literal
5 và ------------------------------------------------------------
File "", line 1
result = string.replace["\",'']
^
SyntaxError: EOL while scanning string literal
4 làm những việc hơi khác nhau------------------------------------------------------------
File "", line 1
result = string.replace["\",'']
^
SyntaxError: EOL while scanning string literal
5 khớp với cuối dòng [dòng mới], trong khi ------------------------------------------------------------
File "", line 1
result = string.replace["\",'']
^
SyntaxError: EOL while scanning string literal
4 khớp với dấu xuống dòng. Mặt khác, khi thay thế, ------------------------------------------------------------
File "", line 1
result = string.replace["\",'']
^
SyntaxError: EOL while scanning string literal
5 sẽ chèn một ký tự null trong khi ------------------------------------------------------------
File "", line 1
result = string.replace["\",'']
^
SyntaxError: EOL while scanning string literal
4 sẽ chèn một dòng mới [chính xác hơn, nó được coi là CR đầu vào]. Đây là một ví dụ nhỏ, không tương tác để minh họa điều này, sử dụng tính năng dòng lệnh Vim [nói cách khác, bạn có thể sao chép và dán đoạn mã sau vào thiết bị đầu cuối để chạy nó]. ------------------------------------------------------------
File "", line 1
result = string.replace["\",'']
^
SyntaxError: EOL while scanning string literal
9 hiển thị một hexdump của tệp kết quảecho bar > test
[echo 'Before:'; xxd test] > output.txt
vim test '+s/b/\n/' '+s/a/\r/' +wq
[echo 'After:'; xxd test] >> output.txt
more output.txt
Before:
0000000: 6261 720a bar.
After:
0000000: 000a 720a ..r.
Nói cách khác,
------------------------------------------------------------
File "", line 1
result = string.replace["\",'']
^
SyntaxError: EOL while scanning string literal
5 đã chèn byte 0x00 vào văn bản; Để thay thế một chuỗi trong Python, hãy sử dụng chuỗi. phương thức thay thế []. Phương thức thay thế [] chấp nhận ba đối số và thay thế cụm từ được chỉ định bằng cụm từ được chỉ định khácThay thế chuỗi Python[]
Chuỗi thay thế [] là một hàm Python tích hợp trả về bản sao của chuỗi trong đó tất cả các lần xuất hiện của chuỗi con được thay thế bằng một chuỗi con khác.
Hàm replace[] trả về bản sao của chuỗi trong đó các giá trị của chuỗi cũ đã được thay thế bằng một giá trị mới. Phương thức thay thế[] không sửa đổi chuỗi gốc.
Trong Python, mọi thứ đều là đối tượng và chuỗi cũng là đối tượng. Do đó, chuỗi Python có thể được tạo đơn giản bằng cách đặt các ký tự trong dấu ngoặc kép.
Thường thì bạn sẽ có chuỗi [đối tượng str], nơi bạn muốn sửa đổi nội dung bằng cách thay thế văn bản này bằng văn bản khác
cú pháp
Cú pháp của hàm thay thế chuỗi Python như sau
string.replace[oldvalue, newvalue, count]
Thông số
Tham số oldvalue là bắt buộc, đây là giá trị chúng ta cần tìm kiếm
Tham số newvalue là bắt buộc, đây là giá trị chúng ta cần thay thế
Tham số count là tùy chọn và là một số chỉ định số lần xuất hiện của giá trị cũ mà bạn muốn thay thế
Giá trị trả về
Phương thức replace[] trả về bản sao của chuỗi trong đó chuỗi con cũ được thay thế bằng chuỗi con mới — một điều cần lưu ý là chuỗi gốc không thay đổi
Nếu không tìm thấy chuỗi con cũ, nó sẽ trả về bản sao của chuỗi gốc
The replace[] is a method of in python3.
Ví dụ
# app.py line = 'Every DC Movies are great movies' replacedString = line.replace['DC', 'Marvel'] print[replacedString]
Chúng tôi đang thay thế chuỗi con DC bằng Marvel trong ví dụ trên
Xem đầu ra bên dưới
Ở đây có một điều cần chú ý là chuỗi gốc không thay đổi
Hãy xem ví dụ trong đó chúng tôi sẽ chỉ định số lần bạn cần thay đổi số lần xuất hiện
# app.py line = 'Every DC Movies are great Movies!! Really great Movies' replacedString = line.replace['Movies', 'Cartoons', 2] print[replacedString]
Trong ví dụ trên, chúng tôi chỉ thay đổi hai lần từ Phim thành Phim hoạt hình
Triển khai phương thức String replace[]
Để triển khai phương thức replace[] trong Python, hãy xác định một chuỗi và sau đó thay thế các ký tự của chuỗi đó bằng một chuỗi khác rồi xem đầu ra
________số 8Xem đầu ra
Cách thay thế nhiều ký tự trong chuỗi Python
Để thay thế nhiều ký tự trong một chuỗi trong Python, hãy sử dụng chuỗi chuỗi. các phương thức thay thế []. Thay thế nhiều ký tự trong một chuỗi sẽ tạo một chuỗi mới với các ký tự được thay thế
main_str = "Millie Bobby Brown" # printing original string print["The original string is : " + str[main_str]] # Using nested replace[] # Replace multiple characters at once res = main_str.replace['M', "L"].replace['B', 'G'] # printing result print["The string after replacement of positions : " + res]
đầu ra
if not a:
print["List is empty"]
0Bạn có thể thấy rằng L thay thế ký tự M và G thay thế ký tự B
Thay thế Python[] bằng đầu vào của người dùng
Để lấy dữ liệu đầu vào từ người dùng, hãy sử dụng phương thức input[]. Hãy xem ví dụ sau. một chuỗi đầu vào của người dùng thay thế chuỗi.
if not a:
print["List is empty"]
1Xem đầu ra
if not a:
print["List is empty"]
2Chuỗi Python thay thế regex
Chuỗi Python. Phương thức thay thế [] không nhận dạng biểu thức chính quy. Để sử dụng biểu thức chính quy trong Python, hãy nhập mô-đun re rồi sử dụng phương thức sub[].
if not a:
print["List is empty"]
3Xem đầu ra
if not a:
print["List is empty"]
4Cách thay thế các ký tự đặc biệt trong chuỗi Python
Để thay thế các ký tự đặc biệt trong chuỗi Python, hãy nhập mô-đun re và sử dụng lệnh re. phương thức phụ[]. Khi bạn muốn thay thế một ký tự đặc biệt, hãy sử dụng biểu thức chính quy
Một lần nữa, bạn nên sử dụng biểu thức chính quy để thay thế các ký tự đặc biệt
# app.py line = 'Every DC Movies are great movies' replacedString = line.replace['DC', 'Marvel'] print[replacedString]0
Xem đầu ra
# app.py line = 'Every DC Movies are great movies' replacedString = line.replace['DC', 'Marvel'] print[replacedString]1
Cách thay thế Ký tự tại Chỉ mục cụ thể trong Chuỗi
Để thay thế một ký tự tại một chỉ mục cụ thể trong một chuỗi trong Python, hãy sử dụng cắt chuỗi python
# app.py line = 'Every DC Movies are great movies' replacedString = line.replace['DC', 'Marvel'] print[replacedString]2
Ở đây ký tự là một ký tự mới phải được thay thế và vị trí là chỉ mục mà chúng ta thay thế ký tự
# app.py line = 'Every DC Movies are great movies' replacedString = line.replace['DC', 'Marvel'] print[replacedString]3
đầu ra
# app.py line = 'Every DC Movies are great movies' replacedString = line.replace['DC', 'Marvel'] print[replacedString]4
Như bạn có thể thấy từ đầu ra, chúng tôi đã thay thế một ký tự r bằng k. Vì vậy, khung dữ liệu trở thành khung dữ liệu
Python thay thế [] dấu gạch chéo ngược bằng dấu gạch chéo
Để thay thế dấu gạch chéo ngược bằng dấu gạch chéo trong Python, hãy sử dụng chuỗi. phương thức thay thế []. Chuyển dấu gạch chéo ngược làm ký tự cũ và chuyển dấu gạch chéo làm ký tự thay thế để thay thế dấu gạch chéo ngược bằng dấu gạch chéo
# app.py line = 'Every DC Movies are great movies' replacedString = line.replace['DC', 'Marvel'] print[replacedString]5
Xem đầu ra
# app.py line = 'Every DC Movies are great movies' replacedString = line.replace['DC', 'Marvel'] print[replacedString]6
Như bạn có thể thấy rằng dấu gạch chéo ngược kép được thay thế bằng dấu gạch chéo chuyển tiếp bằng phương thức replace[]
Phần kết luận
Hy vọng rằng bài viết trên đã cung cấp cho bạn ý tưởng hợp lý về cách sử dụng phương thức thay thế chuỗi [] của Python. Bạn cũng có thể đọc bài viết về hàm replace[] trên tài liệu chính thức của Python.
Đó là nó cho hướng dẫn này
Bài viết trước Cách chuyển chuỗi thành từ điển trong Python
Bài viết tiếp theo Thay thế biểu thức chính quy Python. Cách tìm kiếm và thay thế chuỗi
kranal
https. //appdividend. com/
Krunal Lathiya là Kỹ sư phần mềm với hơn tám năm kinh nghiệm. Anh ấy đã phát triển một nền tảng vững chắc về các nguyên tắc khoa học máy tính và niềm đam mê giải quyết vấn đề. Ngoài ra, Krunal có kiến thức tuyệt vời về Khoa học dữ liệu và Học máy, đồng thời là chuyên gia về Ngôn ngữ Python. Krunal có kinh nghiệm với nhiều ngôn ngữ lập trình và công nghệ khác nhau, bao gồm PHP, R, Golang và JavaScript. Anh ấy cảm thấy thoải mái khi làm việc trong lĩnh vực phát triển front-end và back-end