GAS(google apps script)を使用してます。ただアルゴリズムの問題の為どの言語でも構わないと思います。
以下のような<td></td>タグで囲まれた文字列があります。またこのタグの数は4個と決められています。この中のa,b,c,dの中身を順に抜き取りたいです。
例えば<td>を空白に置換後</td>を元にsplit(分割)しリストを順に取得が思い浮かびましたが、それだとデータ5個(5個目が空白)で微妙です。4つをスマートに取得するにはどうすれば良いですか?
str = '<td>a</td><td>b</td><td>c</td><td>d</td>'
> ただGASのタグない為
「Google Apps Script」タグがあります。
質問と関係ないタグ C#, JAVA は外してください。自分のようなタグで見ている者にはノイズが増えて迷惑ですので。
Google Apps Scriptのタグを発見しました。タグの修正に合わせて本文も直しました。ご指摘ありがとうございます。
先頭側から愚直に調べていくのでは何か問題があるのですか?
(それだと「スマート」と言えないということですか? もしそうであれば,【では「スマート」とは何か?】みたいな話になってしまいそうですが…?)
xmlとして解析して取得する方法なら、下記が参考になりそう。
https://www.javadrive.jp/google-maps-javascript/gdownloadurl/index3.html
この程度なら正規表現で肯定的先読み後読みと最短一致を使えば配列に加工できますが、5 個目だけの話ならそれを無視するか削除すれば良いと思います。
最初の <td> と最後の </td> を削除して </td><td> で分割することもできるでしょう。
皆さん回答ありがとうございます。
>先頭側から愚直に調べていくのでは何か問題があるのですか?
問題はないです。他にどういう方法があるのか皆さんの考えを知りたかった次第です。
>xmlとして解析して取得する方法なら、下記が参考になりそう。
xmlを使う手法もあるんですね。手法として理解しておきます。
>この程度なら正規表現で肯定的先読み後読みと最短一致を使えば配列に加工できますが、5 個目だけの話ならそれを無視するか削除すれば良いと思います。
最初の <td> と最後の </td> を削除して </td><td> で分割することもできるでしょう
確かに正規表現も良いですね。5個目無視でも問題ないですか。</td><td>で分割するとリストが4つになるのでシンプルですね。
これらを元に文字列を加工したいと思います。コメントありがとうございました。
回答1件
あなたの回答
tips
プレビュー