[英]Use substr in perl to get a part of the string
我在其他服务器上运行脚本,并希望从对象名称中提取环境。 但是对象名称可能因服务器而异。 不同服务器中的对象名称:
QDEV1,QDEV2,QQA1,QQA2,QCERT1,QCERT2,QPROD1,QPROD2.
不,我正在尝试使用substr将环境作为DEV,QA,CERT,PROD获取。 我将对象名称作为脚本的条目。
$env = substr($objectname, -4,[3-4]);
print $env;
在dev env和QA中的QQA1 / QQA2中运行时,这将返回DEV1 / DEV2。 我只需要$ env
output(any one of these): DEV or QA or CERT or PROD
您可能只想使用一个简单的匹配。 例如:
$objectname =~ /(DEV|QA|CERT|PROD)/;
print $1;
如果您只想获取不带前导Q
和尾随数字的名称,则可以使用:
$objectname = "QFOO2";
$objectname =~ /^Q([^\W\d]+)\d+$/;
print $1; # prints "FOO"
或者,如果您不想剩下的话,可以直接在变量中替换:
$objectname = "QFOO43";
$objectname =~ s/^Q([^\W\d]+)\d+$/$1/;
print $objectname; # prints "FOO"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.