如何从python中的字符串(URL)中获取各种单词? 来自以下网址:
http://www.sample.com/level1/level2/index.html?id=1234
我希望得到像这样的词:
http, www, sample, com, level1, level2, index, html, id, 1234
任何使用python的解决方案。
感谢。
答案 0 :(得分:5)
这是您为所有网址
执行此操作的方法import re
def getWordsFromURL(url):
return re.compile(r'[\:/?=\-&]+',re.UNICODE).split(url)
现在您可以将其用作
url = "http://www.sample.com/level1/level2/index.html?id=1234"
words = getWordsFromURL(url)
答案 1 :(得分:1)
根据最大的非孤元序列进行正则表达式分割:
import re
l = re.split(r"\W+","http://www.sample.com/level1/level2/index.html?id=1234")
print(l)
的产率:
['http', 'www', 'sample', 'com', 'level1', 'level2', 'index', 'html', 'id', '1234']
这很简单,但正如有人指出的那样,当URL名称中有_
,-
,...时不起作用。因此,列出可以分离路径部分的所有可能令牌的解决方案就不那么有趣了:
l = re.split(r"[/:\.?=&]+","http://stackoverflow.com/questions/41935748/splitting-a-string-url-into-words-using-python")
(我承认我可能忘记了一些分离符号)