2024-06-28 19:56:36 发布
网友
现在我在熊猫数据框中得到了一个字符串,如下所示
"[""www.abccc.com"]"", "[""www.gsfa.com"]""
所以我要做的是用正则表达式替换“[”和“]”
我尝试了一些组合来首先抓住模式,例如:
r' \["[""] ' r' [\"[""] ' r' [\"[\""] '
所有这些都不起作用。。。 当我在regex101中使用以下命令时:
[\"[\"\"]
我为每个特殊字符找到了4个匹配项,而不是一次匹配所有模式
有人能告诉我,我怎样才能解决这个问题
你能做的最好的事情就是删除[""和]"",这样剩下的就只有引号了
[""
]""
import re regex = r'(\[\"\"|\]\"\")' data = r'"[""www.abccc.com"]"", "[""www.gsfa.com"]""' print(re.sub(regex, '', data))
这使得:
"www.abccc.com", "www.gsfa.com"
import re recheck = re.compile(r'\"[\[\]]\"\"') print(recheck.sub(' ', r'"[""www.abccc.com"]"", "[""www.gsfa.com"]""'))
如果有效,它将匹配“,”然后是[或],然后是两个“
括号表示re应检查哪些字符,因此[“”]最终匹配一个双引号,而[“]”将匹配一个字符的单引号或双引号。这就是为什么在三个双引号中我的重匹配左括号或右括号
另一种选择:
import regex as re rx = re.compile(r'(?:\G(?!\A)|\[)[^]]+') some_junky_string = '"[""www.abccc.com"]"", "[""www.gsfa.com"]""' content = [m.group(0).strip('"') for m in rx.finditer(some_junky_string)] print(content)
你能做的最好的事情就是删除
[""
和]""
,这样剩下的就只有引号了这使得:
如果有效,它将匹配“,”然后是[或],然后是两个“
括号表示re应检查哪些字符,因此[“”]最终匹配一个双引号,而[“]”将匹配一个字符的单引号或双引号。这就是为什么在三个双引号中我的重匹配左括号或右括号
另一种选择:
相关问题 更多 >
编程相关推荐