相关疑难解决方法(0)

用单个空格替换非ASCII字符

我需要用空格替换所有非ASCII(\ x00-\x7F)字符.我很惊讶这在Python中并不容易,除非我遗漏了一些东西.以下函数只删除所有非ASCII字符:

def remove_non_ascii_1(text):

    return ''.join(i for i in text if ord(i)<128)
Run Code Online (Sandbox Code Playgroud)

并且这个用字符代码点中的字节数替换非ASCII字符和空格量(即字符被3个空格替换):

def remove_non_ascii_2(text):

    return re.sub(r'[^\x00-\x7F]',' ', text)
Run Code Online (Sandbox Code Playgroud)

如何用单个空格替换所有非ASCII字符?

无数 类似 SO 问题, 地址 的字符 替换 反对 剥离,进一步解决所有非ASCII字符不是一个特定的字符.

python unicode encoding ascii

228
推荐指数
6
解决办法
18万
查看次数

Python的字符串连接与str.join的速度有多慢?

由于我在这个帖子的回答中的评论,我想知道+=运营商和运营商之间的速度差异''.join()

那两者之间的速度比较是什么?

python string list string-concatenation

61
推荐指数
3
解决办法
5万
查看次数

flask app无法正确呈现html标签

我有一句话

sentence =  <p> Reading, watching or <span class="matching">listening</span> to the media isn’t <span class="matching">matching</span><span class="matching">much</span> help either. </p>
Run Code Online (Sandbox Code Playgroud)

这是我在前端正确渲染的原因

from flask import Markup
sentence = Markup(sentence)
Run Code Online (Sandbox Code Playgroud)

但输出只能为一个标记(不一定是第一个)正确呈现,而其他标记不会呈现.

            <p> Reading, watching or <span class="matching">listening</span> to the media isn’t &lt;span class=&#34;matching&#34;&gt;much&lt;/span&gt; help either. </p>
Run Code Online (Sandbox Code Playgroud)

我在这做错了什么?

python markup flask

4
推荐指数
1
解决办法
525
查看次数

从字符串中删除格式

我正在尝试使用BeautifulSoup解析一些来自网络的数据。到目前为止,我已经使用以下代码从表中获取了我需要的数据:

def webParsing(canvas):
url='http://www.cmu.edu/dining/hours/index.html'
try:
    page= urllib.urlopen(url)
except:
    print 'Error while opening html file. Please ensure that you',
    print ' have a working internet connection.'
    return
sourceCode=page.read()
soup=BeautifulSoup(sourceCode)
#heading=soup.html.body.div
tableData=soup.table.tbody
parseTable(canvas,tableData)
def parseTable(canvas,tableData):
    canvas.data.hoursOfOperation=dict()
    rowTag='tr'
    colTag='td'
    for row in tableData.find_all(rowTag):
        row_text=[]
        for item in row.find_all(colTag):
            text=item.text.strip()
            row_text.append(text)
        (locations,hoursOpen)=(row_text[0],row_text[1])
        locations=locations.split(',')
        for location in locations:
            canvas.data.hoursOfOperation[location]=hoursOpen
    print canvas.data.hoursOfOperation
Run Code Online (Sandbox Code Playgroud)

如您所见,第一列中的“项目”通过字典映射到第二列中的“项目”。数据几乎完全是我在打印时想要的样子,但是在python中,这些字符串中有很多格式,例如'\ n'或'\ xe9'或'\ n \ xao'。有什么办法可以删除所有格式?换句话说,删除所有换行符,表示特定编码的任何内容,表示带重音符号的任何内容,并仅获取字符串文字?我不需要最有效或最安全的方法,我是一名初学者,所以最好能采用最简单的方法!谢谢!

python formatting encoding parsing web

3
推荐指数
1
解决办法
7745
查看次数

使用正则表达式删除字符串产生特殊字符:â

精简版:

我有很多很多.txt有一些不需要的字符的文件â和点缀无处不有使用正则表达式来删除URL和之后的空白.我需要从所有文件中删除所有这些.

这些â不存在清洗文件之前,它们被产生作为清洁的结果.

长版

我发现了一个适用于我的文本的正则表达式,并且正在删除URL.首先,我的清洁过程(注释掉的线条是我尝试的其他东西):

clean_file <-  sapply(curr_file, function(x) {
    gsub("&amp;", "&", x) %>%
        gsub("http\\S+\\s*", "", .) %>%
        gsub("[^[:alpha:][:space:]&']", "", .) %>%
        #gsub("[^[:alnum:][:space:]\\'-]", "", .) %>%
        stripWhitespace() %>%
        gsub("^ ", "", .) %>%
        gsub(" $", "", .)
        #gsub("â", "", .)
})
Run Code Online (Sandbox Code Playgroud)

示例输入文本(每行是一个字符串):

Gluskin’s Rosenberg: Don’t Bet on a Bear Market for Treasurys -  Rising Treasury yields?... http://j.mp/UVM31t   #FederalReserve
Jacquiline Chabolla liked Capital Preservation In a Secular Bear Market: Large investment asset losses …
Run Code Online (Sandbox Code Playgroud)

r

0
推荐指数
1
解决办法
1059
查看次数