python中,把‘&#’ ‘&#x开头的字符串转换成中文

Python026

python中,把‘&#’ ‘&#x开头的字符串转换成中文,第1张

(一)

爬虫时经常遇到'/u'开头的unicode编码的字符串,这时通过decode()来解决.

但偶尔也会遇到以‘’ 或者‘’开头的字符串, 这是HTML、XML 等 SGML 类语言的转义序列(escape sequence)。它们不是「编码」。

如果以‘‘ 开头,后接十进制数字,

如果以‘’开头,后接十六进制数字。

在python中的解决方法是:

importhtml

a ='外观'

print(html.unescape(a))

# 输出:外观

希望对你有用

(二)

Python中escape和unescape

Python处理HTML转义字符

在抓网页数据经常遇到例如>或者 这种HTML转义符,抓到字符串里很是烦人。

比方说一个从网页中抓到的字符串

p ='<abc>'

用Python可以这样处理:

import html

p ='<abc>'txt= html.unescape(p)print(txt)

#这样就得到了txt= ''

如果还想转回去,可以这样:

import cgi

q = cgi.escape(html)print(q)

       #这样又回到了 html = '<abc&gt'

python正则匹配以xx开头以xx结尾的单词的步骤:

1、假设需要匹配的字符串为:site sea sue sweet see case sse ssee loses 需要匹配的为以s开头以e 结尾的单词。 正确的正则式为:\bs\S*?e\b

2、使用python中re.findall函数表示匹配字符串中所有的可能选项,re是python里的正则表达式模块。findall是其中一个方法,用来按照提供的正则表达式,去匹配文本中的所有符合条件的字符串。

3、代码和结果如下:

text ='site sea sue sweet see case sse ssee loses'

re.findall(r'\bs\S*?e\b',text)

结果为:['site', 'sue', 'see', 'sse', 'ssee']

扩展资料:

python正则匹配,以某某开头某某结尾的最长子串匹配

代码如下:

regVersions = re.search(r'(V|v)[0-9].*[0-9]', filename)

if regVersions:

print regVersions.group()

字符串是由数字、字母、下划线组成的一串字符,比如 “hello, world!” ,这就是一个字符串。

在python中,字符串要用引号括起来,单号号或者双引号都可以。像是 'abc' , "xyz" 都是字符串。

在python中字符串用单引号或者双引号括起来,例如 'a' , "b" ,a和b都是字符串类型,可以使用 type() 函数查看

python中还可以用三个引号表示字符串, ''' 或者 """ 都可以,它主要是用来表示跨行的字符串,例如:

执行 print(a,type(a)) ,可以看到结果

在"荒野猎人"和"2015-12-16"后面,都有'\n',只不过'\n'在shell中被打印出来了,所以看不到。

'\n'代表换行,因为有'\n'的存在,所以"2015-12-16","莱昂纳多·迪卡普里奥 / 汤姆·哈迪"和"8.2"才从下一行开始打印。

为什么有'\n'? 因为在定义a的时候,输入完“荒野猎人”后按的回车,回车在计算机语言中即为'\n'。

在两个三引号之间,单引号和双引号都可以使用。同理,在单引号之间,可以用双引号,在双引号间可以用单引号。例如:

在表示一个单引号的时候,可以使用两个双引号,也就是 "'" ,也就是上面的例子a,另一种方法是用 '\'' ,反斜杠单引号等价于一个单引号,即:

两个反斜杠\\代表一个反斜杠,因为你要打印一个反斜杠,但是反斜杠是转义的意思,因此有一个特殊的转义符 \\\\ ,它代表着一个反斜杠。

prefix还可以是元组,S.startswith(('a','b')),当S以'a'或者'b'开头时返回True。

与find相对的,还有个rfind方法。

S.rfind(sub) ->int

它与find的区别是,find是从字符串左侧开始查找,而rfind是从右侧开始查找。两者都是查找到第一个sub后就停止查找,立刻返回其索引值,没找到返回-1。

关于更多字符串的信息,可以使用 help(str) 查看。