猿问

需要RE来检测UTF-8

我有以下代码


inf = codecs.open(inPath , encoding='utf-8')

outf = codecs.open(outPath, encoding='utf-8', mode='w')

old = u'’;'

new = u'’&#59;'

for line in inf:

    line = line.replace(old,new)

    asc = line.encode('ascii', 'xmlcharrefreplace')    

    outf.write(asc)

    # print asc

inf.close()

outf.close()

这(正确)使用数字格式将智能引号和带重音符号等转换为它们的html实体格式。它将转换


<p>Dreams like: “Someday I’ll travel to…; someday I’ll write a book;

进入


<p>Dreams like: &#8220;Someday I&#8217;ll travel to&#8230;; someday I&#8217;ll write a book; 

这都是正确的。


但是,&#8230;;在更下游的代码中,看到了中间的代码,删除了双分号,然后抱怨它没有有效的实体。我无法更改此代码。


如您从我的代码中看到的那样,我发现了一种情况,其中一个实体后跟一个分号。我不想替换源代码中的所有分号。


如何检测代码点> 127的UTF-8字符后的半冒号,以便将其替换为&#59;?谢谢。


catspeake
浏览 169回答 1
1回答

慕标琳琳

面对棕榈!如果我先转换为htmlentites,然后替换;;为即可;&#69;解决我的问题。自我注意-考虑您在哪里做事情以及该怎么做!
随时随地看视频慕课网APP

相关分类

Python
我要回答