2024-09-27 00:17:44 发布
网友
我在模板中有变量key.links.self(来自json输出),它是一个URL:
key.links.self
https://ahostnamea.net:666/api/v1/
现在我要做的是从这个变量只在模板中呈现ahostnamea
ahostnamea
我知道剪切字母是可能的,但是当第一个字母总是有相同的计数(https://=8个字母)时,剩下的就不那么简单了,而且会变得不同。 有没有办法将字符串从/拆分/剪切到.?或者其他方式
https://
/
.
您可以使用一个模式,其中包含一个捕获组和一个否定字符类[^.]+,该类匹配除点以外的任何字符
[^.]+
https?://([^.]+)
Regex demo| Python demo
例如
import re regex = r"https?://([^.]+)" test_str = "https://ahostnamea.net:666/api/v1/" matches = re.search(regex, test_str) if matches: print(matches.group(1))
结果
编辑
建议您也可以使用urllib.parse来获取主机名
from urllib.parse import urlparse o = urlparse("https://ahostnamea.net:666/api/v1/")
Python demo
例如,可以通过在点上拆分来获得第一部分:
s = o.hostname.split('.', 1)[0] print(s)
一个合适的解决方案是{{ request.META.HTTP_HOST }}
{{ request.META.HTTP_HOST }}
您可以使用一个模式,其中包含一个捕获组和一个否定字符类
[^.]+
,该类匹配除点以外的任何字符Regex demo| Python demo
例如
结果
编辑
建议您也可以使用urllib.parse来获取主机名
Python demo
例如,可以通过在点上拆分来获得第一部分:
结果
一个合适的解决方案是
{{ request.META.HTTP_HOST }}
相关问题 更多 >
编程相关推荐