我的字符串就像
$varin="wer.try.iuy.oiu.qert"
我想删除从字符串末尾开始直到“.”的字符。遇到。
预期输出:
wer.try.iuy.oiu
已尝试使用chop()
,substr
但没有任何作用..它仅删除最后一个字符。
请帮忙 :)
答案1
正则表达式非常适合解决此类问题:
$varin =~ s/\.[^.]+$//;
这匹配一个点,后跟几个非点,然后是字符串的结尾。然后删除匹配的内容。
另一种方法是找到最后一个.
using rindex
,然后使用 usesubstr
删除点及其后面的所有内容:
my $i = rindex($varin,'.');
$varin = substr($varin,0,$i) if $i>0;