我有一个urlhttps://nasheidp.com/app/dynamicvalue/exkkilism6wisasas/sso/saml我想从url中删除动态值,结果应该是
https://nasheidp.com/app/exkkilism6wisasas/sso/saml
app/之后和/exkkilism6wisasas之前的值是完全动态的。
我正在尝试类似的东西
use URI ();
$u1 = URI->new("https://nasheidp.com/app/dynamicvalue/exkkilism6wisasas/sso/saml");
$u1->path("thereplacedwith");
print $u1;
你可以用多种方法解决这个问题,但我想;最简单的";解决这个问题的方法是使用正则表达式。
由于你的url是一个字符串,你可以用一个空字符串搜索动态值。在Perl中搜索和替换某些内容(可以在此处阅读(是使用s/valueToBeReplaced/replacedValue/
完成的,其中valueToBeReplaced
可以是字符串值或正则表达式,replacedValue
可以是普通字符串(以及其他值,但对于您的情况,这无关紧要(。
对于您的情况,您可能希望查找/app/dynamicValue/sso
零件并将其替换为/app/sso
。由于CCD_ 6是";元字符";(也称为保留字符(,您需要使用对其进行转义。
这就是你可能会得到的结果:
$url = "https://nasheidp.com/app/dynamicvalue/exkkilism6wisasas/sso/saml";
$url =~ s/<pattern>//app/sso/;
对于<pattern>
部分,您需要找到一个可以匹配动态部分的正则表达式。