比如一个语句:z={'张涵', '王静', '唐莉' ,'林静华', '戴鹿'}
disp(z(1)),输出时是: '张涵',带着单引号,如何去除这个单引号。
一楼的方法不行
1、先给定一个字符串:zfc='<a class="title query-item-id" target="_blank" data-queryid="baea0f1f44fcb8401c57132e">linux快速入门教程</a><a class="title query-item-id" target="_blank" data-queryid="05794abed8e0895b2a21263f">硅片回收:[1]回收硅片</a>'。
2、先用局部替换的方法,去掉字符串里面的双引号:
import re
k=re.sub('"','',zfc) # 用空字符替换字符串里面的双引号
print(k)。
3、还可以这么写:
import re
k=re.sub("\"",'',zfc)
print(k)
用双引号把双引号包括在里面,但是要在中间的双引号前面加上一个反斜杠,转义一下。
4、或者用三引号:
import re
k=re.sub('''"''','',zfc)
print(k)
5、需要指出的是,如果只是想从字符串里面匹配出特定的文字,完全不必去除双引号。
比如这里要提取字符串里面的粗体字符串,可以在正则表达式里面带着双引号:
import re
t=re.findall('data-queryid="\w+">(.*?)</a>',zfc)
print(t)
6、还可以用三引号来囊括正则表达式:
import re
t=re.findall('''data-queryid="\w+">(.*?)</a>''',zfc)
print(t)
7、但是如果要用双引号来囊括正则表达式,就需要在字符串里面的双引号前面加上反斜杠:
import re
t=re.findall("data-queryid=\"\w+\">(.*?)</a>",zfc)
print(t)即可去除单双引号。
disp(char(z(1)))
这就可以了本回答被提问者采纳