アプリ版:「スタンプのみでお礼する」機能のリリースについて

Flash8使用です。

XMLファイルから読み込んだ、タグ混じりの文字列を、
タグの前後で分割して、配列に格納したいと考えています。

<a>我が輩は<b kana="ねこ">猫</b>である。</a>
という文字列を、
<a>,我が輩は,<b kana="ねこ">,猫,</b>,である,</a>
という配列にしたいのです。

最初の文字列(変数lineに代入)をsplitを使って「<」で分割し、
次に生成された配列の要素をに、1つずつ消された「<」を補うということをして、
,<a>我が輩は,<b kana="ねこ">猫,</b>である,</a>
という配列は作れました。
しかしここからさらに「>」で分割する方法がわかりません。

どのような方法がありますでしょうか。
特にsplitを使う方法にこだわっているわけではないので、
最初からまったく異なる方法でももちろん大歓迎です。
よろしくお願いします。


以下、現在のコードです。
var temp:Array = line.split("<");
for ( var n = 1; n<temp.length; n++) {
temp[n] = "<" + temp[n];
}

A 回答 (1件)

せっかく配列を使っているのですから,


Arrayクラスのメソッドを有効利用してあげれば,
楽にできると思いますよ。

フレームに書いて(コピペして),
「制御」→「ムービープレビュー」で動作確認してみてください。

/////////////////////////////////////////////////////////////////
myWord = '<a>我が輩は<b kana="ねこ">猫</b>である。</a>';
myArr = myWord.split("<").join("★<").split(">").join(">★").split("★");
myArr.pop();
myArr.shift();
trace(myArr);
// →出力 <a>,我が輩は,<b kana="ねこ">,猫,</b>,である。,</a>
/////////////////////////////////////////////////////////////////

Flashドキュメンテーション (ヘルプ)
ActionScript 2.0 リファレンスガイド > ActionScript クラス > Array
http://livedocs.adobe.com/flash/8_jp/main/000019 …
    • good
    • 0
この回答へのお礼

できました!
分割するところに目印用の記号を入れればいいんですね。
join自体は知っていても全くそのような使い方を思いつかず、
ほんとうに目からウロコでした。

どうもありがとうございました!

お礼日時:2008/02/26 20:49

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!