
ファイル名で使用不可な文字を削除しようと思い以下のようにしました。
----------
$str =~ tr/\/\\:*?"<>|//;
----------
(置換後の設定部は記載無しで削除したい)
しかし、何も変換はされません。
置換後を半角スペース一文字にすると半角スペースに置換されますが、文字削除をするべく何も書かないと、何も変換されません。
このような処理はできないのでしょうか?
perlのバージョンは以下です。
----------
perl -v
This is perl, v5.8.6 built for i686-linux
----------
No.1ベストアンサー
- 回答日時:
tr/検索リスト/置換リスト/
で置換リストを省略すると検索リストがそのまま使われます。(つまり、自分自身に置き換えることになります、なので変換されていないように見えます。マッチした文字数を数えるためにこうした使い方をする場合があります)
dオプションを使用すると検索リストにあって、置換リストに無い物が削除されますので、
$str =~ tr/\/\\:*?"<>|//d;
とすれば良いと思います。*も?もエスケープした方がいいかも・
出来ました!
削除するには書かないのではなくdオプションが必要なのですね・・・。
エスケープの件は、多分、trは正規表現は使われないので、*や?は不要なのかもしれません。
どうもありがとうございました。
No.3
- 回答日時:
私が回答を書いてるうちに、
BLUEPIXYさんが、もっと良い説明を書いてくれてました。
そちらを参考にして下さい。>helonpaさん
No.2
- 回答日時:
trにd(delete)オプションを付けたらどうでしょう?
D:\>perl -e "$str='abcd';$str=~tr/bc//;print $str;"
abcd
D:\>perl -e "$str='abcd';$str=~tr/bc//d;print $str;"
ad
D:\>
D:\>perl -v
This is perl, v5.8.4 built for MSWin32-x86-multi-thread
(with 3 registered patches, see perl -V for more detail)
Copyright 1987-2004, Larry Wall
Binary build 810 provided by ActiveState Corp. http://www.ActiveState.com
ActiveState is a division of Sophos.
Built Jun 1 2004 11:52:21
Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.
Complete documentation for Perl, including FAQ lists, should be found on
this system using `man perl' or `perldoc perl'. If you have access to the
Internet, point your browser at http://www.perl.com/, the Perl Home Page.
D:\>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
\\(円)記号を置換したい
-
正規表現で、特定の文字列を含...
-
文字コードの%E3%80%とは何です...
-
住宅にカナを入力する際に丁目...
-
Excel VBAでPDFファイルをMicro...
-
全角英数字の必要性が理解できない
-
カンマ区切りの数字をCSVフ...
-
バッチファイルの正規表現を利...
-
WORDで改ページすると時々グレ...
-
いまスマホからカードの申込み...
-
エクセルで数値を全角文字(カ...
-
VisualStudioでタブやスペース...
-
3桁ごと?4桁ごと?コンマの...
-
「カンマ」と「コンマ」は同じ...
-
海外のケータイ(GSM携帯)はハ...
-
携帯サイトは半角カナが当たり...
-
メモ帳の段落の揃え方
-
ダブルコーテーションの置換
-
CSVファイルの中で、「 , 」カ...
-
全角/半角キーをSendkeys関数で...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
正規表現で、特定の文字列を含...
-
VBA 置換文字がみつからない時
-
各項目がダブルクォーテーショ...
-
csvデータのダブルクォーテーシ...
-
xmlファイル内の文字列置換
-
csvデータ ダブルクォーテ...
-
Excel・ユーザーフォームの情報...
-
Eclipse 改行後のタブ
-
正規表現 特定の文字列を含む行...
-
C言語でテキストファイルの内容...
-
フォントの色を保持したままセ...
-
ハングルを日本語に置換
-
秀丸エディタで、「-」や「ー」...
-
EXCEL VBA でCTRL+Fのダイア...
-
C#で空白行を削除する方法
-
スペースで区切られた氏名から...
-
EXCELマクロを用いてグラフの系...
-
EXCEL警告「置換対象のデータが...
-
ダブルコーテーション 、"を二...
-
テキストボックスの文字列を置...
おすすめ情報