我需要一个给我~
和^
在python中提取2个字符串之间的字符串?
之间的字符串我有串这样
:::ABC???,:::DEF???
我需要使用python
我想做的事情,让他们之间的字符串所有这一切,因为我试图从HTML页面提取文本。像这个例子一样
<td class="cell-1">
<div><span class="value-frame"> ~ABC^,~DEF^</span></div>
</td>
我需要一个给我~
和^
在python中提取2个字符串之间的字符串?
之间的字符串我有串这样
:::ABC???,:::DEF???
我需要使用python
我想做的事情,让他们之间的字符串所有这一切,因为我试图从HTML页面提取文本。像这个例子一样
<td class="cell-1">
<div><span class="value-frame"> ~ABC^,~DEF^</span></div>
</td>
好像你想ABC和DEF,所以你需要编写再像这样(。*?)
import re
target = ' <td class="cell-1"><div><span class="value-frame"> ~ABC^,~DEF^</span></div></td>'
matchObj = re.findall(r'~(.*?)\^', target)
print matchObj
# ['ABC', 'DEF']
您可以了解更多关于重新模块
您可以在生成器表达式中使用isalpha()
函数。然后使用join()
将字符组合为单个string
。
def extract_string(s):
return ''.join(i for i in s if i.isalpha())
输出示例:
print extract_string(':::ABC???,:::DEF???')
>>> ABCDEF
但是,如果你想~...^
之间只提取字符仅用于提取所有字符,:
import re
def extract_string(s):
match = re.findall(r"~([a-zA-z]*)\^", s)
return match
输出示例:
s = ' ~ABC^,~DEF^'
print extract_string(s)
>>> ['ABC', 'DEF']
只是一个侧面说明:如果你使用解析正则表达式和 /或字符串操作HTML,为famous S.O. reply建议,请使用HTML解析器;如Beautiful Soup库改为:D!
是什么意思'(*。 ?)'? – dragon