JavaScript を使用して iCalendar ファイルからいくつかのパラメーターを読み取りたいと思います。
ファイル入力は次のようになります。
BEGIN:VEVENT DTSTART:20121127T190000Z DTEND:20121127T210000Z DTSTAMP:20121130T185808Z UID:q4sbrtajjol1hlpiijpho5jac0@google.com CREATED:20121102T191519Z 説明:1. ブンデスリーガ\、14. Spieltag \n\nhttp://www.fussball-spielplan. info LAST-MODIFIED:20121127T211459Z LOCATION:Commerzbank-Arena\, Frankfurt SEQUENCE:10 STATUS:CONFIRMED 概要:Eintracht Frankfurt - 1. FSV Mainz 05 (1:3) TRANSP:TRANSPARENT END:VEVENT
パラメータタグは次のとおりです。
DTSTART:
DTEND:
DTSTAMP:
UID:
CREATED:
DESCRIPTION:
LAST-MODIFIED:
LOCATION:
STATUS:
SUMMARY:
TRANSP:
これらのパラメーターの背後にある値を読み取りたい。値の長さはほとんど可変です。
RegExp
現在、区切り文字として何を設定すればよいかわからないため
、 a の使用は非常に困難です。"\n"
すべてのテキスト部分がスペースで区切られているため、機能しません。しかし、スペース区切り文字を使用する"\s"
と、単語ごとに区切られます。これは、特にDESCRIPTION:
長いテキストが含まれるパラメーターの場合、望ましい結果ではありません。
私のソースコードは現在次のようになっています。
file_reader.onload = function (evt) {
document.getElementById("filedrag").textContent = evt.target.result;
Output(
"<p>File information: <strong>" + file.name +
"</strong> type: <strong>" + file.type +
"</strong> size: <strong>" + file.size +
"</strong> bytes</p>");
var regexp = new RegExp("/DTSTART:(.*?)\s/", "g");
var file_content = evt.target.result;
var match, matches = [];
while ((match = regexp.exec(file_content)) != null) {
matches.push(match.index);
}
alert(matches);
}
どうすれば自分のアイデアを実現できますか?