我有这样的数据,我从文件中逐行读取
{0 1,1 1,4 1,6 'text text'}
{0 1,1 1,4 1,5 1,6 'text text text text'}
{0 1,5 1,6 'text texttext text'}
{1 1,6 'text text texttexttext text'}
我想得到"之间的所有文本,所以我得到它像这个
'text text'
'text text text text'
'text texttext text'
'text text texttexttext text'
我试着用re.sub删除之前的第一个字符
line=re.sub(r'.*'', '', line)
但它消除了所有的魅力感谢
试试这个:
import re
lines = ["{0 1,1 1,4 1,6 'text text'}",
"{0 1,1 1,4 1,5 1,6 'text text text text'}",
"{0 1,5 1,6 'text texttext text'}",
"{1 1,6 'text text texttexttext text'}"]
for line in lines:
print(re.sub(r"[^']*('[^']*').*", r"1", line))
输出:
'text text'
'text text text text'
'text texttext text'
'text text texttexttext text'
您可以使用findall
或search
value = "{0 1,1 1,4 1,6 'text text'}"
content = re.search("('.*')", value).group(0)
content # 'text text'