如何在运行后在命令提示符中删除\r\n?

2024-05-08 06:22:21 发布

您现在位置:Python中文网/ 问答频道 /正文

每当我运行代码的时候。它给了我\r\n空间。我用了剥离功能,但没有用。如何解决这个问题?这是链接:https://ibb.co/VtVV2fb\

import scrapy
from .. items import FetchingItem

class SiteFetching(scrapy.Spider):
    name = 'Site'
    start_urls = ['https://www.rev.com/freelancers']
    transcription_page = 'https://www.rev.com/freelancers/transcription'

    def parse(self, response):
    items = {
    'Heading': response.css('#sign-up::text').extract(),
    'Earn_steps': response.css('.pb2 .lh-copy::text , .mb1::text , .mb3 .lh-copy::text').extract(), 
    }

    yield response.follow(self.transcription_page, self.trans_faqs, meta={'items':items})

    def trans_faqs(self, response):
    items = response.meta['items']
    names = {
    'name1': 'FAQ1',
    'name2': 'FAQ2', 
    }

    finder = {
    'find1': '#whatentailed p::text , #whatentailed .mr3::text',
    'find2': '#requirements p::text , #requirements .mr3::text',
    }

    for name, find in zip(names.values(), finder.values()):
        items[name] = response.css(find.strip()).extract()
    yield items

Tags: textnamehttpsimportselfcomresponsewww
1条回答
网友
1楼 · 发布于 2024-05-08 06:22:21

strip()只能删除字符串末尾的\r\n,但不能删除内部。如果文本中有\r\n,则使用text = text.replace(\r\n', '')

似乎在extract()创建的列表中得到了\r\n,所以必须使用列表理解来从列表中的每个元素中删除

data = response.css(find).extract()
data = [x.replace('\r\n', '').strip() for x in data]
items[name] = data

编辑:要删除句子之间的空格和\r\n,可以split('\r\n')创建包含句子的列表。然后你可以strip()每个句子。你可以' '.join()把所有的句子放回一个字符串。你知道吗

text = 'Sentence 1\r\n    Sentence 2'

data = text.split('\r\n')
data = [x.strip() for x in data]
text = ' '.join(data)

print(text)

同一行

text = 'Sentence 1\r\n    Sentence 2'

text = ' '.join(x.strip() for x in text.split('\r\n'))

print(text)

与模块re相同

import re

text = 'Sentence 1\r\n    Sentence 2'

text = re.sub('\r\n\s+', ' ', text)

print(text)

for name, find in zip(names.values(), finder.values()):
    data = response.css(find.strip()).extract()
    data = [re.sub('\r\n\s+', ' ', text) for text in data]
    items[name] = data

相关问题 更多 >