文字列 数字 の表記の中から数字のみを抜き取りたいです。
文字列は基本的にパスワード pass パスのどれかです。
ない場合は条件分岐で処理をpass文使ってスルーさせます。
数字は桁数不明ですが半角数字です。
ex.
パスワード 1111
pass 1111111
パス 124545422
このような中から数字だけを抜き取りたいです。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答4件
0
数字でない文字を削除すればいいかと。
Python
1indata = "pass 1929" 2outdata = re.sub("\D","",indata) 3if outdata == "": 4 print("数字が無かった")
投稿2020/02/29 10:33
総合スコア85901
0
ベストアンサー
こんにちは
対象とする文字列が以下
- 先頭は、
パスワード
またはpass
またはパス
で始まり、 - その後、1個以上の空白文字があり、
- その後、文字列の終わりまで1個以上の半角数字が続く。
を満たすものだとすると、数字部分を取り出すには、正規表現
python
1r'^(パス(?:ワード)?|pass)\s+([0-9]+)$'
にマッチした場合の、2番目のグループを取り出せばよいかと思います。以下、これを使ったサンプルです。
- 動作確認用サンプル: https://repl.it/@jun68ykt/Q244198
投稿2020/02/29 08:22
総合スコア9058
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/03/01 05:46
2020/03/01 12:36
0
投稿2020/02/29 08:21
総合スコア22324
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
python
1n = 3 2number = [] 3string = ["パスワード","pass","パス"] 4for i in range(n): 5 kari = input().split() 6 for k in string: 7 if kari[0] == k: 8 number.append(int(kari[1])) 9print(number)
input
1パスワード 1111 2pass 1111111 3パス 124545422
output
1[1111, 1111111, 124545422]
こんな感じでしょうか?
投稿2020/02/29 08:02
総合スコア108
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/03/01 05:37