'how I can replace backslashes in python
I simply wanna replace the backslash but I can't , I searched every where but nothing found
I tried:
mystr = "\n"
mystr.replace("\\",'x') #nothing happened
print(mystr.startswith('\\')) #False
print(ord('\')) #EOL_Error
print(ord(mystr[0]) == ord('\\')) #False
can any one help me pleas ..
Solution 1:[1]
# This string contains no backslashes; it's a single linebreak.
mystr = "\n"
# Hence this does nothing:
mystr.replace("\\", 'x')
# and this is False:
print(mystr.startswith('\\'))
# This is a syntax error because the \ escapes the '
print(ord('\')) #EOL Err
# This is still False because there's still no '\\` in mystr
print(ord(mystr[0]) == ord('\\')) #False
If you use the \\ escape consistently you get the results you're looking for:
# This string contains a backslash and an n.
mystr = '\\n'
# Now this prints "xn":
print(mystr.replace('\\', 'x'))
# and this is True:
print(mystr.startswith('\\'))
# This prints 92
print(ord('\\'))
# This is also True:
print(ord(mystr[0]) == ord('\\'))
You can define mystr as a raw string (making '\n' a literal \ followed by n), but this doesn't work for strings like '\' because even in a raw string, the \ escapes any quotation mark immediately following it. For a string ending in \ you still need to use a normal escape sequence.
mystr = r'\n'
print(mystr.replace('\\', 'x'))
print(mystr.startswith('\\'))
print(ord('\\'))
print(ord(mystr[0]) == ord('\\'))
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 |
