Hướng dẫn how do you change a backslash in python? - làm thế nào để bạn thay đổi dấu gạch chéo ngược trong python?

Tôi đang cố gắng thay thế một dấu gạch chéo ngược '\' trong một chuỗi bằng mã sau

string = "

\B7

" result = string.replace("\",'')

result:

------------------------------------------------------------
   File "", line 1
     result = string.replace("\",'')
                                     ^
SyntaxError: EOL while scanning string literal

Ở đây tôi không cần cắt lại vì thực sự tôi đang phân tích tệp XML có thẻ ở định dạng trên, vì vậy nếu dấu gạch chéo ngược ở đó, nó sẽ hiển thị invalid token trong quá trình phân tích cú pháp

Tôi có thể biết cách thay thế các dấu gạch chéo ngược bằng chuỗi trống trong Python không

hỏi ngày 27 tháng 9 năm 2012 lúc 9:18Sep 27, 2012 at 9:18

Hướng dẫn how do you change a backslash in python? - làm thế nào để bạn thay đổi dấu gạch chéo ngược trong python?

0

Chúng tôi cần chỉ định rằng chúng tôi muốn thay thế một chuỗi chứa một dấu gạch chéo ngược. Chúng ta không thể viết điều đó dưới dạng

------------------------------------------------------------
   File "", line 1
     result = string.replace("\",'')
                                     ^
SyntaxError: EOL while scanning string literal
0, bởi vì dấu gạch chéo ngược đang thoát khỏi các trích dẫn kép đóng dự định. Chúng tôi cũng không thể sử dụng một chuỗi thô theo nghĩa đen cho việc này:
------------------------------------------------------------
   File "", line 1
     result = string.replace("\",'')
                                     ^
SyntaxError: EOL while scanning string literal
1 không hoạt động.

Thay vào đó, chúng tôi chỉ cần thoát khỏi dấu gạch chéo ngược bằng cách sử dụng dấu gạch chéo ngược khác:

result = string.replace("\\","")

Karl Knechtel

59.4K10 Huy hiệu vàng86 Huy hiệu bạc132 Huy hiệu đồng10 gold badges86 silver badges132 bronze badges

Đã trả lời ngày 27 tháng 9 năm 2012 lúc 9:20Sep 27, 2012 at 9:20

0

Lỗi là vì bạn đã không thêm một ký tự thoát vào

------------------------------------------------------------
   File "", line 1
     result = string.replace("\",'')
                                     ^
SyntaxError: EOL while scanning string literal
2 của mình, bạn nên cung cấp
------------------------------------------------------------
   File "", line 1
     result = string.replace("\",'')
                                     ^
SyntaxError: EOL while scanning string literal
3 cho
------------------------------------------------------------
   File "", line 1
     result = string.replace("\",'')
                                     ^
SyntaxError: EOL while scanning string literal
4

In [147]: foo = "a\c\d" # example string with backslashes

In [148]: foo 
Out[148]: 'a\\c\\d'

In [149]: foo.replace('\\', " ")
Out[149]: 'a c d'

In [150]: foo.replace('\\', "")
Out[150]: 'acd'

mdoc-2011

2.5674 Huy hiệu vàng20 Huy hiệu bạc40 Huy hiệu đồng4 gold badges20 silver badges40 bronze badges

Đã trả lời ngày 27 tháng 9 năm 2012 lúc 9:19Sep 27, 2012 at 9:19

Avasalavasalavasal

Huy hiệu vàng 14K4 30 Huy hiệu bạc47 Huy hiệu đồng4 gold badges30 silver badges47 bronze badges

1

Trong Python, như được giải thích trong tài liệu:

Ký tự 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ì vậy, để thay thế

------------------------------------------------------------
   File "", line 1
     result = string.replace("\",'')
                                     ^
SyntaxError: EOL while scanning string literal
5 trong một chuỗi, bạn cần thoát khỏi bản sao lại bằng một dấu gạch chéo ngược khác, do đó:

>>> "this is a \ I want to replace".replace("\\", "?")
'this is a ? I want to replace'

Karl Knechtel

59.4K10 Huy hiệu vàng86 Huy hiệu bạc132 Huy hiệu đồng10 gold badges86 silver badges132 bronze badges

Đã trả lời ngày 27 tháng 9 năm 2012 lúc 9:20Sep 27, 2012 at 9:27

Lỗi là vì bạn đã không thêm một ký tự thoát vào

------------------------------------------------------------
   File "", line 1
     result = string.replace("\",'')
                                     ^
SyntaxError: EOL while scanning string literal
2 của mình, bạn nên cung cấp
------------------------------------------------------------
   File "", line 1
     result = string.replace("\",'')
                                     ^
SyntaxError: EOL while scanning string literal
3 cho
------------------------------------------------------------
   File "", line 1
     result = string.replace("\",'')
                                     ^
SyntaxError: EOL while scanning string literal
4Pierre GM

In [147]: foo = "a\c\d" # example string with backslashes

In [148]: foo 
Out[148]: 'a\\c\\d'

In [149]: foo.replace('\\', " ")
Out[149]: 'a c d'

In [150]: foo.replace('\\', "")
Out[150]: 'acd'
3 gold badges54 silver badges65 bronze badges

1

2.5674 Huy hiệu vàng20 Huy hiệu bạc40 Huy hiệu đồng

import re

new_string = re.sub("\\\\", "", old_string)

Đã trả lời ngày 27 tháng 9 năm 2012 lúc 9:19two backslashes (each one is escaped), then the regex engine compiles that into a pattern that will match one backslash (doing a separate layer of unescaping).

Karl Knechtel

59.4K10 Huy hiệu vàng86 Huy hiệu bạc132 Huy hiệu đồng10 gold badges86 silver badges132 bronze badges

Đã trả lời ngày 27 tháng 9 năm 2012 lúc 9:20Aug 5, 2020 at 21:09

Lỗi là vì bạn đã không thêm một ký tự thoát vào

------------------------------------------------------------
   File "", line 1
     result = string.replace("\",'')
                                     ^
SyntaxError: EOL while scanning string literal
2 của mình, bạn nên cung cấp
------------------------------------------------------------
   File "", line 1
     result = string.replace("\",'')
                                     ^
SyntaxError: EOL while scanning string literal
3 cho
------------------------------------------------------------
   File "", line 1
     result = string.replace("\",'')
                                     ^
SyntaxError: EOL while scanning string literal
4

result = string.replace("\\","")

In [147]: foo = "a\c\d" # example string with backslashes

In [148]: foo 
Out[148]: 'a\\c\\d'

In [149]: foo.replace('\\', " ")
Out[149]: 'a c d'

In [150]: foo.replace('\\', "")
Out[150]: 'acd'

2.5674 Huy hiệu vàng20 Huy hiệu bạc40 Huy hiệu đồng

string.encode('unicode_escape')
result = string.replace("\\", "")
#result=abcdnop.png

Đã trả lời ngày 27 tháng 9 năm 2012 lúc 9:19Jul 20, 2020 at 12:34

Hướng dẫn how do you change a backslash in python? - làm thế nào để bạn thay đổi dấu gạch chéo ngược trong python?

Avasalavasalvaleriyan

Huy hiệu vàng 14K4 30 Huy hiệu bạc47 Huy hiệu đồng1 silver badge5 bronze badges

1

Trong Python, như được giải thích trong tài liệu:

Ký tự 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ì vậy, để thay thế

------------------------------------------------------------
   File "", line 1
     result = string.replace("\",'')
                                     ^
SyntaxError: EOL while scanning string literal
5 trong một chuỗi, bạn cần thoát khỏi bản sao lại bằng một dấu gạch chéo ngược khác, do đó:Sep 27, 2012 at 9:28

Đã trả lời ngày 27 tháng 9 năm 2012 lúc 9:27Rohit Jain

Pierre Gmpierre GM45 gold badges400 silver badges516 bronze badges

19.1k3 Huy hiệu vàng54 Huy hiệu bạc65 Huy hiệu Đồng
Python 3.8.1
Pandas 1.1.0
At this point in time I used both the double \ backslash AND the r.

df.replace([r'\\'], [''], regex=True, inplace=True)

Cheers.

Sử dụng các biểu thức thông thường:Aug 15, 2020 at 1:10

Làm cách nào để thay đổi dấu gạch chéo ngược của tôi?

Thay đổi để chém về phía trước/ trở lại nhấn \/ để thay đổi mọi dấu gạch chéo ngược thành một dấu gạch chéo phía trước, trong dòng hiện tại.Nhấn \ để thay đổi mọi dấu gạch chéo về phía trước thành một dấu gạch chéo ngược, trong dòng hiện tại.Press \/ to change every backslash to a forward slash, in the current line. Press \\ to change every forward slash to a backslash, in the current line.

Làm thế nào để bạn thay đổi một chém duy nhất thành một dấu gạch chéo kép trong Python?

Sử dụng phương thức str.Replace () để thay thế một dấu gạch chéo ngược bằng dấu gạch chéo ngược kép, ví dụ:Kết quả = chuỗi.thay thế('\\', '\\\\') . replace() method to replace a single backslash with a double backslash, e.g. result = string. replace('\\', '\\\\') .