Hướng dẫn remove r from string python - loại bỏ r khỏi chuỗi python

Tôi hiện đang cố gắng lấy mã từ trang web này: http://netherkingdom.netai.net/pycake.html sau đó tôi có một tập lệnh python phân tích tất cả mã trong thẻ html div và cuối cùng viết văn bản từ giữa các thẻ div đến một tập tin. Vấn đề là nó thêm một loạt \ r và \ n vào tệp. Làm thế nào tôi có thể tránh điều này hoặc loại bỏ \ r và \ n. Đây là mã của tôi:

import urllib.request
from html.parser import HTMLParser
import re
page = urllib.request.urlopen('http://netherkingdom.netai.net/pycake.html')
t = page.read()
class MyHTMLParser(HTMLParser):
    def handle_data(self, data):
        print(data)
        f = open('/Users/austinhitt/Desktop/Test.py', 'r')
        t = f.read()
        f = open('/Users/austinhitt/Desktop/Test.py', 'w')
        f.write(t + '\n' + data)
        f.close()
parser = MyHTMLParser()
t = t.decode()
parser.feed(t)

Và đây là tệp kết quả mà nó tạo ra:

b'
import time as t\r\n
from os import path\r\n
import os\r\n
\r\n
\r\n
\r\n
\r\n
\r\n'

Tốt nhất là tôi cũng muốn loại bỏ b 'và cuối cùng'. Tôi đang sử dụng Python 3.5.1 trên máy Mac.

Đã hỏi ngày 6 tháng 3 năm 2016 lúc 18:41Mar 6, 2016 at 18:41

Hướng dẫn remove r from string python - loại bỏ r khỏi chuỗi python

HittmanahittmanaHittmanA

2931 Huy hiệu vàng4 Huy hiệu bạc11 Huy hiệu đồng1 gold badge4 silver badges11 bronze badges

5

Một giải pháp đơn giản là loại bỏ khoảng trắng dấu vết:

with open('gash.txt', 'r') as var:
    for line in var:
        line = line.rstrip()
        print(line)

Ưu điểm của

b'
import time as t\r\n
from os import path\r\n
import os\r\n
\r\n
\r\n
\r\n
\r\n
\r\n'
2 so với sử dụng lát
b'
import time as t\r\n
from os import path\r\n
import os\r\n
\r\n
\r\n
\r\n
\r\n
\r\n'
3 là điều này cũng an toàn cho các tệp kiểu Unix.

Tuy nhiên, nếu bạn chỉ muốn thoát khỏi

b'
import time as t\r\n
from os import path\r\n
import os\r\n
\r\n
\r\n
\r\n
\r\n
\r\n'
4 và họ có thể không ở cuối dòng, thì
b'
import time as t\r\n
from os import path\r\n
import os\r\n
\r\n
\r\n
\r\n
\r\n
\r\n'
5 là bạn của bạn:

line = line.replace('\r', '')

Nếu bạn có đối tượng byte (đó là hàng đầu

b'
import time as t\r\n
from os import path\r\n
import os\r\n
\r\n
\r\n
\r\n
\r\n
\r\n'
6), bạn có thể chuyển đổi nó thành chuỗi Python 3 gốc bằng cách sử dụng:

line = line.decode()

Đã trả lời ngày 6 tháng 3 năm 2016 lúc 18:59Mar 6, 2016 at 18:59

Hướng dẫn remove r from string python - loại bỏ r khỏi chuỗi python

CDARKECDARKEcdarke

41.2k7 Huy hiệu vàng79 Huy hiệu bạc81 Huy hiệu đồng7 gold badges79 silver badges81 bronze badges

7

Để loại bỏ trở lại vận chuyển:

  • b'
    import time as t\r\n
    from os import path\r\n
    import os\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n'
    
    7

Để xóa tab

  • b'
    import time as t\r\n
    from os import path\r\n
    import os\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n'
    
    8

Wisbucky

29,6K9 Huy hiệu vàng129 Huy hiệu bạc97 Huy hiệu Đồng9 gold badges129 silver badges97 bronze badges

Đã trả lời ngày 8 tháng 7 năm 2020 lúc 8:03Jul 8, 2020 at 8:03

Xóa \ r \ n khỏi chuỗi (hoặc danh sách các chuỗi) trong python #

Sử dụng phương thức

b'
import time as t\r\n
from os import path\r\n
import os\r\n
\r\n
\r\n
\r\n
\r\n
\r\n'
9 để xóa
with open('gash.txt', 'r') as var:
    for line in var:
        line = line.rstrip()
        print(line)
0 khỏi chuỗi trong Python, ví dụ:
with open('gash.txt', 'r') as var:
    for line in var:
        line = line.rstrip()
        print(line)
1. Phương thức
b'
import time as t\r\n
from os import path\r\n
import os\r\n
\r\n
\r\n
\r\n
\r\n
\r\n'
9 trả về một bản sao của chuỗi với khoảng trắng kéo dài.

Copied!

my_str = "Hello world\r\n" # ✅ remove \r\n from string result = my_str.rstrip() print(repr(result)) # 👉️ 'Hello world' # ------------------------------------- # ✅ remove \r\n from all strings in list with open('example.txt', 'r', encoding='utf-8') as f: lines = f.readlines() print(lines) # 👉️ ['First line\r\n', 'Second line\r\n', 'Third line\r\n'] result = [line.rstrip() for line in lines] print(result) # 👉️ ['First line', 'Second line', 'Third line']

Ký tự

with open('gash.txt', 'r') as var:
    for line in var:
        line = line.rstrip()
        print(line)
0 được sử dụng làm ký tự mới trong Windows.

Phương thức str.rstrip trả về một bản sao của chuỗi với khoảng trắng kéo dài.

Copied!

my_str = "Hello world\r\n" # ✅ remove \r\n from string result = my_str.rstrip() print(repr(result)) # 👉️ 'Hello world'

Ngoài ra còn có một phương thức str.strip, trả về một bản sao của chuỗi với khoảng trắng dẫn đầu và dấu vết đã bị loại bỏ.

Copied!

my_str = "\r\nHello world\r\n" result = my_str.strip() print(repr(result)) # 👉️ 'Hello world'

Bạn cũng có thể sử dụng phương thức

with open('gash.txt', 'r') as var:
    for line in var:
        line = line.rstrip()
        print(line)
4 để xóa tất cả các ký tự
with open('gash.txt', 'r') as var:
    for line in var:
        line = line.rstrip()
        print(line)
0 trong chuỗi.

Copied!

import re my_str = "\r\nHello world\r\n" result = re.sub(r'\r\n', '', my_str) print(repr(result)) # 👉️ 'Hello world'

Phương thức Re.sub trả về một chuỗi mới thu được bằng cách thay thế các lần xuất hiện của mẫu bằng thay thế được cung cấp.

Đối số đầu tiên chúng tôi chuyển sang phương thức là một biểu thức thông thường khớp với các ký tự ____20 và thứ hai là chuỗi thay thế.

Để thay thế

with open('gash.txt', 'r') as var:
    for line in var:
        line = line.rstrip()
        print(line)
0 từ danh sách các chuỗi:

  1. Sử dụng danh sách hiểu để lặp lại trong danh sách.
  2. Gọi phương thức
    b'
    import time as t\r\n
    from os import path\r\n
    import os\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n'
    
    9 để xóa các ký tự
    with open('gash.txt', 'r') as var:
        for line in var:
            line = line.rstrip()
            print(line)
    
    0.
  3. Các chuỗi trong danh sách mới sẽ không chứa bất kỳ ký tự
    with open('gash.txt', 'r') as var:
        for line in var:
            line = line.rstrip()
            print(line)
    
    0 nào.

Copied!

with open('example.txt', 'r', encoding='utf-8') as f: lines = f.readlines() print(lines) # 👉️ ['First line\r\n', 'Second line\r\n', 'Third line\r\n'] result = [line.rstrip() for line in lines] print(result) # 👉️ ['First line', 'Second line', 'Third line']

Chúng tôi đã sử dụng một danh sách hiểu để lặp lại trong danh sách.

Danh sách các hệ thống được sử dụng để thực hiện một số hoạt động cho mọi yếu tố hoặc chọn một tập hợp con của các phần tử đáp ứng một điều kiện.

Trên mỗi lần lặp, chúng tôi gọi phương thức

b'
import time as t\r\n
from os import path\r\n
import os\r\n
\r\n
\r\n
\r\n
\r\n
\r\n'
9 trên chuỗi để loại bỏ bất kỳ khoảng trắng nào.

Bạn cũng có thể gọi phương thức

line = line.replace('\r', '')
2 để loại bỏ tất cả khoảng trắng dẫn đầu và theo dõi hoặc phương thức
line = line.replace('\r', '')
3 để xóa tất cả các ký tự
with open('gash.txt', 'r') as var:
    for line in var:
        line = line.rstrip()
        print(line)
0 khỏi chuỗi.

b'
import time as t\r\n
from os import path\r\n
import os\r\n
\r\n
\r\n
\r\n
\r\n
\r\n'
0

Ví dụ trên giả định rằng có một tệp có tên

line = line.replace('\r', '')
5 nằm trong cùng thư mục với tập lệnh Python.

Tệp có nội dung sau:

b'
import time as t\r\n
from os import path\r\n
import os\r\n
\r\n
\r\n
\r\n
\r\n
\r\n'
1

Làm thế nào để bạn loại bỏ một R khỏi một chuỗi trong Python?

Làm cách nào để loại bỏ một cỗ xe trở lại từ một chuỗi trong Python ?..
Sử dụng str.thay thế () phương thức để xóa tất cả các lần xuất hiện của các ký tự \ r khỏi chuỗi ..
Sử dụng str.thay thế () phương thức để xóa tất cả các lần xuất hiện của \ n ký tự khỏi chuỗi ..
Chuỗi mới sẽ không chứa bất kỳ lợi nhuận vận chuyển nào ..

R '\ n có nghĩa là gì trong Python?

"\ r \ n" là kiểu Windows mặc định cho dấu phân cách dòng."\ r" là kiểu Mac cổ điển cho phân tách dòng.default Windows style for line separator. "\r" is classic Mac style for line separator.

Làm cách nào để loại bỏ một ký hiệu khỏi một chuỗi trong Python?

Xóa ký hiệu khỏi chuỗi bằng cách sử dụng thay thế () người ta có thể sử dụng str.replace () bên trong một vòng lặp để kiểm tra BAD_CHAR và sau đó thay thế nó bằng chuỗi trống do đó loại bỏ nó.use str. replace() inside a loop to check for a bad_char and then replace it with the empty string hence removing it.

\ R làm gì trong chuỗi?

R có nghĩa là chuỗi sẽ được coi là chuỗi thô.Xem tài liệu tham khảo Python 2 chính thức về "Chuỗi chữ": Khi có tiền tố 'r' hoặc 'r', một ký tự sau dấu gạch chéo ngược được bao gồm trong chuỗi mà không thay đổi và tất cả các dấu gạch chéo ngược đều bị bỏ lại trong chuỗi.the string will be treated as raw string. See the official Python 2 Reference about "String literals": When an 'r' or 'R' prefix is present, a character following a backslash is included in the string without change, and all backslashes are left in the string.