データ管理の為perlで データの保存先のパスを \から/に変換させる事をしたいのですが、パスの途中、ファイル名に 十 申 曾 箪 貼 能 表 等の文字が入ると 文字が化けてしまいます。いろいろ調べて化ける理由は分ったのですが、やりたい事が出来ません。対応できる方法があれば教えてください。
文字コードはSHIFT-JISです
例:c:\申請表\能力検定\貼付け\十分.txt を c:/申請表/能力検定/貼付け/十分.txt に変換したいがどうしても以下の様になってしまう。 c:/・請・・力検定/・付け/・分.txt
No.3ベストアンサー
- 回答日時:
外から変数に代入して、その変数を処理する方法があると思います。
次のコードは、先頭から1文字ずつ見ていきながら、全角文字に含まれない \ だけを変換しています。use strict;
my $path = <DATA>; chomp $path; $path .= '#';
while ($path !~ /^#/) {
unless ($path =~ s/^([\x81-\x9F\xE0-\xEF][\x40-\xFC])(.*)/$2$1/) {
$path =~ s/^\\/\//;
$path =~ s/^(.)(.*)/$2$1/;
}
}
$path =~ s/^#//;
print "$path\n";
__DATA__
c:\申請表\能力検定\貼付け\十分.txt
No.1
- 回答日時:
SHIFT-JIS(SJIS)だと全角文字中に\にあたる文字コードが混在することがあるので
一旦文字コードをEUCに変換してから、\→/ の変換をしてから、SJISに戻すとよいかと。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【VBA】指定フォルダに格納中のテキストファイルをエクセルで処理し結果のエクセルを新規フォルダに保存 1 2022/03/25 14:19
- Visual Basic(VBA) VBAでエクセルをtxtに変換するとエクセルでカンマを含む文字数字がtxtでは「""」付にならないよ 1 2022/08/27 12:17
- Excel(エクセル) 文字化け。メモ帳でUTF-8に変換後、エクセルへ貼り付けたいです。 3 2022/08/14 07:21
- Visual Basic(VBA) VBAでの共有パスにつきまして 1 2023/03/04 17:24
- Visual Basic(VBA) ファイル名の右側を変更したい ファイル名:「1001日別売上」の左側へ「2022」を追加し、「202 6 2022/10/14 10:03
- Excel(エクセル) ExcelVBA メモ帳を起動し名前を付けて指定フォルダに保存 2 2022/04/18 13:15
- Visual Basic(VBA) 入力ボックスが繰り返しポップアップして止まらない。 下記コードでファイル名の変更をしたいのですが、変 1 2022/09/08 11:27
- Visual Basic(VBA) 指定月分の顧客データファイルを統合して並べ替え、所定の場所に貼り付ける 3 2022/09/10 07:55
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/06/15 14:11
- Visual Basic(VBA) 指定月分の顧客データファイルを統合して並べ替え、所定の場所に貼り付ける (再質問) 4 2022/09/14 22:51
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
perlをバージョンアップしたら...
-
ファイルアイコンの左下に緑の□...
-
perlプログラミング 空白行削除
-
perlの構文でカンマの意味が分...
-
英数文字列のうちの数値を4桁に...
-
テキストファイルで提出とは?
-
Perlのエラーについてご教授く...
-
AI sisterとは、偽物の人ですか?
-
perlのrequireの動き方について...
-
perlのプログラミング 部分入れ...
-
Strawberry Perl for Windows ...
-
arduino の割り込み処理について
-
アルファベットに付いて質問し...
-
#!/usr/bin/perlで書きだしたCG...
-
perlのflock関数でロックをかけ...
-
bashスクリプト
-
perlでリテラル値はメモリにど...
-
perlで2次元配列をサブルーチ...
-
Perlで時間の計算
-
perlについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
テキストファイルで提出とは?
-
openした後、closeしないでプロ...
-
perlをバージョンアップしたら...
-
INDIRECT 横に再度抽出したい
-
Perl の外部モジュールの利用方法
-
Perlで特定文字列から特定文字...
-
Perlのエラーについてご教授く...
-
bashスクリプト
-
Strawberry Perl for Windows ...
-
perlで2次元配列をサブルーチ...
-
TeraPadエディターの操作方法に...
-
アルファベットに付いて質問し...
-
perlのflock関数でロックをかけ...
-
ファイルアイコンの左下に緑の□...
-
perlプログラミング 空白行削除
-
Wallpaper Engineでおすすめの...
-
Perlで時間の計算
-
perlのrequireの動き方について...
-
perlでリテラル値はメモリにど...
-
画像が表示でnull; this.src
おすすめ情報