質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.31%
正規表現

正規表現とは特定の文字列によるパターンマッチングを行う際に用いられる宣言型プログラミングです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。

Q&A

解決済

1回答

3093閲覧

pythonで 年月月の日付のフォーマットを、8文字の数列に変換したい

sio_php

総合スコア19

正規表現

正規表現とは特定の文字列によるパターンマッチングを行う際に用いられる宣言型プログラミングです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。

0グッド

0クリップ

投稿2019/02/21 15:37

編集2019/02/21 15:38
2019年2月4日(月)文字列

という文章を、(月)の部分で分割して

20190204 または 2019-2-4 と 文字列

のふたつの文章に置き換えたいです。

今の所
1.pythonのsub関数を使い、正規表現で変換する
2.pandasを使い変換する

のどちらかの方法を検討していますが、どちらもよくわからず、ググっても理解できず困っています。

参考になる URLでもいいので、どなたか教えていただけないでしょうか。

試したこと

text = "2019年2月4日(月)文字列" date = re.sub("([0-9]+)年([0-9]+)月([0-9]+)日", "^\d{4}-\d{1,2}-\d{1,2}$",text)

→結果失敗

参考にした URL
https://teratail.com/questions/145151

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

re.searchで拾い出すのが素直な発想かと。グループ化して拾います。

python

1>>> text = "2019年2月4日(月)文字列" 2>>> import re 3>>> match = re.search(r"(\d+)年(\d+)月(\d+)日(.)(.*)", text) 4>>> match.groups() 5('2019', '2', '4', '文字列') 6>>> match.group(0) 7'2019年2月4日(月)文字列' 8>>> match.group(1) 9'2019' 10>>> match.group(2) 11'2' 12>>> match.group(3) 13'4' 14>>> match.group(4) 15'文字列'

あとは好きに料理できます。

参考:日付の処理方法。

python

1>>> "{0}{1:0>2}{2:0>2}".format(*map(int, match.groups()[:3])) 2'20190204'

投稿2019/02/21 16:03

hayataka2049

総合スコア30939

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sio_php

2019/02/22 02:14

完璧です。re.searchを使えばよかったのですね。ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.31%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問