大きな文字列から値を抽出する最も効率的な方法を見つけようとしています。Javascriptを使用したStringからの値の解析
EXT-X-DATERANGE:ID="PreRoll_Ident_Open",START-DATE="2016-12-14T120000.000z",DURATION=3,X-PlayHeadStart="0.000",X-AdID="AA-1QPN49M9H2112",X-TRANSACTION-VPRN-ID="1486060788",X-TrackingDefault="1",X-TrackingDefaultURI="http,//606ca.v.fwmrm.net/ad/l/1?s=g015&n=394953%3B394953&t=1485791181366184015&f=&r=394953&adid=15914070&reid=5469372&arid=0&auid=&cn=defaultImpression&et=i&_cc=15914070,5469372,,,1485791181,1&tpos=0&iw=&uxnw=394953&uxss=sg579054&uxct=4&metr=1031&init=1&vcid2=394953%3A466c5842-0cce-4a16-9f8b-a428e479b875&cr="s=0&iw=&uxnw=394953&uxss=sg579054&uxct=4&metr=1031&init=1&vcid2=394953%3A466c5842-0cce-4a16-9f8b-a428e479b875&cr="
これは例として挙げたものです。 アイデアは、すべての大文字の文字列を前に抽出することです:オブジェクトのキーとして、そしてその値として次のカンマまで引用符の間にあるすべてのもの。次に、このオブジェクトが作成されるまで文字列全体を反復処理します。
nonParsed.substring(nonParsed.lastIndexOf("="")+1, nonParsed.lastIndexOf("","));
私はスタートとして、この概念を持っていたが、いくつかの助けこれを反復し、それをより効率的に高く評価されるだろう。あなたは、ヘッダーのためのケースの文字列だけでなく、大文字を混ぜているように見えます
{
'EXT-X-DATERANGE:ID': 'PreRoll_Ident_Open',
'START-DATE': '2016-12-14T120000.000z',
'DURATION': '3',
...
}
おそらくこれは役に立ちます:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions –
あなたのXにカンマがあるようですから普通より少し難しいでしょう-TrackingDefaultURIコロンがあるはずのヘッダー値。これは、素朴な分割をより困難にします。 –
最終出力は何ですか? – revo