2017-10-23 8 views
-4

第二の最後のスラッシュから引用符を削除し、私が持っている文字列例えば

/..../.../hello/hi/bye/try.pl 

ある文字列は、私は2番目の最後のスラッシュ文字からすべての引用符を削除することができます方法はありますか?私は正規表現のソリューションを使用してこの問題を解決することができるように願っています。この文字列を返す

/..../.../hello/hi/ 

を取得することとしています。

+1

あなたが望むものを理解できません。引用符はどこにありますか、正確に何をしたいですか? –

+0

引用符は削除されません。 – Jan

答えて

2

ご入力し、ご希望の出力から、私はあなたがパスの部分ではなく、引用符の話をしていると思います。

$str =~ s![^/]+/[^/]+$!!; 

これでうまくいくはずです。それは文字列( "$")の終わりから一致しているだけで、その間にスラッシュが含まれていない2つの文字列を探します。

+0

それは働いた。助けてくれてありがとう – beginner

1

ファイル・システムを使用している場合、それは、Perlに付属する標準モジュールを使用することをお勧めします。

my $path = '/some/path/hello/hi/bye/try.pl'; 
print "Original : $path\n"; 

use File::Basename; 
print 'via File::Basename dirname : ', dirname(dirname($path)), "\n"; 

use File::Spec::Functions qw(:ALL); 
my @path = splitdir($path); 
print 'via File::Spec::Functions splitdir : ', catdir(@path[ 0 .. $#path-2 ]), "\n"; 
関連する問題