を解析するための最良の方法私はこのようなテキスト文字列があるだろう:早期パイソン/正規表現 - テキスト記述
- 富士通のLifeBook E734 13.3" のi5 2.5GHz帯/ 4GBのRAM/500GB SSHDのような新しい
- のMac Proを、 2009年4コア2.66GHzのインテルXeonプロセッサ/ 16ギガRAM /速度1Tb HD
と私は思ったんだけどメイク、モデル、プロセッサ、画面サイズ、HDサイズ、RAM、条件
に解析したいです、どのようなもので、最も非凡な方法ですか?これらの文字列ですか?
現在、私は次のことをやっている:一致する場合は、コンピュータの静的リストの上に
- 反復は、文字列
- スプリット文字列からそれらを引き出し、メーカーとモデル
- 「」と「/」で囲まれています。
- 使用
is x in y
:。- '"' と "で検索" サイズを見つけるため
- を探します。 "プロセッサ速度を見つけるためにGHzの"
- 'Mbの'、 'GBの表情。 。」、 'Tbの'
はここにいくつかのサンプルコードです:
import re
data={}
complist = {'make':['Apple','Toshiba','HP', 'Fujitsu'...],
'model':['Air','Surface','Zenbook','Lifebook','Mac Pro',...],
'condition':['New','Used','Refurbished'...]}
string = 'Fujitsu LifeBook E734 13.3" i5 2.5GHz/4Gb RAM/500Gb SSHD Like NEW'
for comparison in complist :
for compare in complist[comparison]:
if compare in string:
data[comparison]=compare
string = string.replace(compare, '')
stringsplit=re.findall(r"[\w']+", string)
for i,s in enumerate(stringsplit):
if any(key in s for key in ['Mb','Gb','Tb']):
...
data['Ram']=...
if any(...
私はこれを強引にすることができますが、 "..."は私が指針を探している場所です。また、おそらく最初の部分がより効率的に実行される可能性があります。
ご協力いただきまして誠にありがとうございます。