私の文字列は次のとおりです
$varin="wer.try.iuy.oiu.qert"
文字列の終わりから「.」まで文字を削除したいです。会う。
予想出力:
wer.try.iuy.oiu
これを試してみましたが、chop()
何もsubstr
機能しません。最後の文字だけが削除されます。
助けてください:)
答え1
正規表現は、次の問題を解決するのに役立ちます。
$varin =~ s/\.[^.]+$//;
これは、ポイントと一致し、ポイントではなく複数が続き、文字列の終わりと一致します。その後、一致するコンテンツを削除してください。
もう1つの方法は、最後の.
usingを見つけて、rindex
useを使用してsubstr
ドットとその後のすべてのエントリを削除することです。
my $i = rindex($varin,'.');
$varin = substr($varin,0,$i) if $i>0;