from re import *
v=split(r"[\s,)(]", r"(C:\Users\Gleb\Desktop\сайты.txt,C:\Users\Gleb\Desktop\istock_000020116885large_-_copy-700x461.jpg)")
print(v)
代码输出:
['', 'C:\Users\Gleb\Desktop\сайты.txt', 'C:\Users\Gleb\Desktop\istock_000020116885large_-_copy-700x461.jpg', '']
并且应该输出:
['C:\Users\Gleb\Desktop\сайты.txt', 'C:\Users\Gleb\Desktop\istock_000020116885large_-_copy-700x461.jpg']
为什么会这样输出?
您是否正在修剪给定的文字,这是 python在文字的一侧
C
和另一侧所做的吗?什么都没有 - 一个空行,所以他插入它。要得到你想要的,你必须告诉python你想要得到什么,而不是你不想要什么。
在评论中,@gil9red 提出了一个更正确的正则表达式:
r"\w.+?\.\w+"
活生生的例子
在文本处理的简单情况下,您可以不使用正则表达式:
结果: