これは私のコードです:
results = re.finditer(r'([A-Z ?]+)\n+(.*)\n',inputfile,flags=re.MULTILINE)
for match in results:
print match.groups()
i/p:
基本情報
名前: ジョン
電話番号: +91-9876543210
生年月日: 1995 年 10 月 21 日
スキルセット
ジャワ
パイソン
o/p: ('BASIC INFORMATION', 'Name: John') ('SKILL SET', 'Java')
ただし、必要なo/p: ('BASIC INFORMATION', 'Name: John', 'Phone No.: +91-9876543210', 'DOB': '21-10-1995') ('SKILL SET', 'Java' 、'パイソン')
ファイルのテキストが単純でないため、正規表現ですべての出力を取得するのは困難です。
しかし、正規表現 + 少し余分な努力をすれば、これを簡単に達成できます
# This regex fetch all Titles (i.e. BASIC INFO, SKILL SET...)
results = re.findall(r"([A-Z ]{4,})", inputfile)
そして、少し努力した後、あなたが望む結果を得るのに役立ちます
items=[]
for z in results:
item = inputfile[:inputfile.index(z)]
inputfile = inputfile.replace(item,'')
if item:
items.append(filter(str,item.split('\n')))
items.append(filter(str,inputfile.split('\n')))
print items
出力:
[ ['基本情報', '名前: John', '電話番号: +91-9876543210', 'DOB': '21-10-1995'],
['スキルセット', 'Java','パイソン']
]
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加