A 回答 (4件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
$date =~ s/(\d+)(\d\d)(\d\d)$/\1\/\2\/\3/;
または読みやすくして
$date =~ s{ (\d{1,}) (\d{2}) (\d{2}) $ }{\1/\2/\3}x;
末尾から2桁数字、その前の2桁数字、その前の1桁以上の数字
があれば途中に斜線記号を入れます。
参考)
https://perldoc.jp/docs/perl/5.26.1/perlre.pod
No.3
- 回答日時:
$date ="2021/10/30" ;
と$date自体を書き換えたいのか、
$sdate =????($date); # $sdate= "2021/10/30" になる
等と、別の変数にしたいのか、にもよります。
$m_date='20211030';
$dm_date = sprintf("%04d/%02d/%02d",
substr($m_date,0,4) , substr($m_date,4,2) , substr($m_date,-2) );
について。
正規表現とどちらが早いか、は、わかりません。
ですが、次の点で正規表現の方が良いと言えます。
1. 正規表現では「8文字の数字列」かどうかのチェックも同時に行える。
if (正規表現){
「8文字の数字列」になっている
} else {
「8文字の数字列」ではない
}
2.何度もsubstr($m_date,〜) って書くのは面倒くさい。しかも、引数を考えながらやらなければならない
3.正規表現の方がPerlっぽい
No.4
- 回答日時:
「別の変数に設定する」場合でも, 例えば
$date = '20211031';
$sdate = $date =~ s!(\d+)(\d\d)(\d\d)!$1/$2/$3!r;
のようにすればいけるよ.
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP 'member_picture/'に/がありますが 、「スラッシュ」は必要でしょうか? 1 2022/11/27 04:32
- Visual Basic(VBA) マクロについて教えてください。 4 2023/06/06 09:06
- Visual Basic(VBA) マクロについて教えてください。 1 2023/06/06 00:57
- SEO googleサーチコンソールで、重複URLが多数発生、その修正方法について 2 2023/06/23 16:15
- その他(データベース) カラム上の重複を削除するクエリを教えてください 3 2022/04/12 14:11
- HTML・CSS Dreamweaver のテンプレートでの相対パスの設定について 2 2023/06/13 17:28
- UNIX・Linux cronの@rebootでのdateコマンドの実行につきまして 2 2023/06/11 16:23
- JavaScript プラグイン無しでContactform7にdatepickerを実装 3 2022/10/25 02:18
- Visual Basic(VBA) Excel VBA でデータ転記について 1 2023/03/07 19:11
- Excel(エクセル) DATE関数で指定する「日」のセルが関数の場合の対処法 5 2022/09/14 15:46
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
メールアドレスの正規表現について
-
正規表現で一致しない(否定)場...
-
(秀丸)正規表現で、特定文字列...
-
さくらエディタでGrep検索する...
-
grepの正規表現での最短マッチ...
-
PS4コントローラーをPCでゲーム...
-
wordの何も書かれていない2ペー...
-
エクセルでアルファベットか数...
-
EXCELで=より左の文字を一括で...
-
Chr(13)とChr(10)の違いは?
-
「彡」って文字はなんという文...
-
TeraPadで改行が
-
VBAでの Replace関数で、ワイル...
-
セル内の文字列が日本語か英語...
-
EBCDIC⇒SJIS変換の方法
-
C#で年月を比較する
-
MMDでavi出力が出来ない
-
4Kの外部モニターに出力すると...
-
MS SQLServer のSQLで文字列の...
-
パワーポイントで文字の上に線...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
正規表現 秀丸エディタ 行頭か...
-
正規表現でAND検索はできる...
-
vbaの正規表現で、マッチした一...
-
メールアドレスの正規表現について
-
文章中全ての半角カッコ ( の...
-
正規表現です。括弧内にある複...
-
Perl 数値にスラッシュを入れる...
-
[正規表現] 数字範囲をヒット...
-
正規表現でシングルクォーテー...
-
[VBS] テキストファイルから任...
-
C言語にパターンマッチってない...
-
MFCで正規表現
-
Mで始まりuで終わる文字列
-
C言語のコメントを「正規表現」...
-
正規表現でカウントアップ(?)す...
-
第二水準漢字が含まれるか?
-
特定タグ以外を変換したい
-
正規表現で囲まれた部分の文字列
-
grepの正規表現での最短マッチ...
-
1行~複数行をまとめる正規表現
おすすめ情報
ありがとございます。
>$d=~s:(\d\d)(\d\d)$:/\1/\2:;
出来たら上の意味を教えて貰えますか?
ありがとうございます。
$m_date='20211030';
$dm_date = sprintf("%04d\/%02d\/%02d", substr($m_date,0,4) , substr($m_date,4,2) , substr($m_date,-2) );
正規表現がどうにも苦手で上のような構文より正規表現を使った方が処理が早いってことなんですよね?