値を抽出する必要がある文字列があります。問題は文字列が矛盾していることです。以下は、その中に文字列を持つスクリプトの例です。Python RegEx Stringデータの一貫性のない構文解析
import re
RAW_Data = "Name Multiple Words Zero Row* (78.59/0) Name Multiple Words2* (96/24.56) Name Multiple Words3* (0/32.45) Name Multiple Words4* (96/12.58) Name Multiple Words5* (96/0) Name Multiple Words Zero Row6* (0) Name Multiple Words7* (96/95.57) Name Multiple Words Zero Row8* (0) Name Multiple Words9*"
First_Num = re.findall(r'\((.*?)\/*', RAW_Data)
Seg_Length = re.findall(r'\/(.*?)\)', RAW_Data)
#WithinParenthesis = re.findall(r'\((.*?)\)', RAW_Data) #This works correctly
print First_Num
print Seg_Length
del RAW_Data
文字列から抜け出すために必要なものはすべて括弧内の値です。しかし、数字の間に "/"がないことを処理するロジックが必要です。基本的に "/"が存在しない場合は、First_NumとSeg_Lengthの両方の値を "0"にします。私はこれが理にかなってほしい。
これは1月に動作するように見えます。いくつかのサンプルデータでそれを実行しました。驚くばかり!ありがとう – user1457123
@ user1457123:喜んで助けてください:) – Jan
1月、ネストされたループ内でこれをどのように実行できるかに関する提案はありますか?私が試してみると、First_NumとSeg_Lengthだけの最後の値が得られます。多分私はこれについて新しい質問を投稿すべきでしょうか? – user1457123