繁体   English   中英

在perl中使用substr获取字符串的一部分

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM