对于某些报告,我需要简化url字符串,有时我们的url字符串在不同部分包含gclid
参数:
https://www.website.com/colors/blue?src=camp_id1&gclid=Cj0KCQjwoInnBRDDARIsANBVyASfVUCg4ShKaAq4q8cX6xgB4kYj-oRGEPuO5UuUaAnZi2zD7yQU684aAo3KEALw_wcB
或
https://www.website.com/colors/blue?gclid=Cj0KCQjwoInnBRDDARIsANBVyASfVUCg4ShKaAq4q8cX6xgB4kYj-oRGEPuO5UuUaAnZi2zD7yQU684aAo3KEALw_wcB&src=camp_id1
或
https://www.website.com/colors/blue?page=2&gclid=Cj0KCQjwoInnBRDDARIsANBVyASfVUCg4ShKaAq4q8cX6xgB4kYj-oRGEPuO5UuUaAnZi2zD7yQU684aAo3KEALw_wcB&src=camp_id1
或
https://www.website.com/colors/blue?page=2&src=camp_id1
因此,URL有所有这些变体。有时它们包含gclid
,有时则不包含。它们通常位于网址的不同部分。
在ruby中最简单的方法是在没有gclid
子字符串的情况下打印字符串吗?
答案 0 :(得分:3)
IAuthenticatedEncryptor encryptorByKeyId = currentKeyRing.GetAuthenticatedEncryptorByKeyId(guid, out isRevoked);
if (encryptorByKeyId == null)
{
this._logger.KeyWasNotFoundInTheKeyRingUnprotectOperationCannotProceed(guid);
throw Error.Common_KeyNotFound(guid);
}
答案 1 :(得分:1)
如果您只需要基本URL,就可以这样做:
url = your_url_string
trimmed_url = url[0, url.index("?")]
或者您可以防止没有查询参数的字符串:
url = your_url_string
trimmed_url = url[0, (url.include?('?') ? url.index("?") : url)]
也许也可以使用URI
来完成此操作...
如果您需要做的就是删除该参数,请参见以下答案:Rails String Replace URL Parameters
答案 2 :(得分:1)
我建议为此使用URI库,以便您可以解析查询部分:
array([[0.67058825, 0.6901961 , 0.69411767, ..., 0.61960787, 0.6 ,
0.60784316],
...,
[0.03529412, 0.03529412, 0.04705882, ..., 0.10196079, 0.09019608,
0.08627451],
[0.03137255, 0.02745098, 0.03921569, ..., 0.12156863, 0.08627451,
0.06666667]], dtype=float32)