■13299 / inTopicNo.7) |
Re[2]: ドメイン(.co.jp)以外のドメインも取得するのであれば
|
□投稿者/ ONnoji -(2022/06/04(Sat) 14:45:51)
| 2022/06/04(Sat) 16:54:10 編集(投稿者)
> 桐10を使っております。 > 例えば、下記アドレスの「.jp/」以降から「.html」前までを省略したい場合の計算式を教えて頂きたいです。(省略したい部分の文字数は様々です。) > > https://www.kthree.co.jp/kihelp/index.html
↑上のようにドメイン(.co.jp)の場合には、
#sstr( [address], 1, #文字位置( [address], ".jp/" ) + 3 ) ※これは質問のように「.jp/」をターゲットにした式です
でOKですが、
実際には、↓以下の例のような
https://www.youtube.com/watch?v=WDH_nJM3djc
ドメイン(.comなど)のようなケースもあるのではないでしょうか??
なので、ドメイン(.co.jp)以外のドメインも取得するのであれば、
すでに尾形さんが提示されたように
#対応文字列( #文字置換( [address], "/", "," ), 1 ) + "//" + #対応文字列( #文字置換( [address], "/", "," ), 3 ) + "/"
#文字置換( )関数と#対応文字列( )関数を利用した上↑の式の方が汎用性があって良いと思いますよ。
◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇
なお安全のために、値の文字列が http で始まっているという条件を付けた場合は以下のようになります。
#cond( #文字位置( [address], "http" ) = 1, #対応文字列( #文字置換( [address], "/", "," ), 1 ) + "//" + #対応文字列( #文字置換( [address], "/", "," ), 3 ) + "/", 1, "url not found" )
または
#cond( #文字位置( [address], "http" ) = 1, #対応文字列( #文字置換( [address], "/", "," ), 1 ) + "//" + #対応文字列( #文字置換( [address], "/", "," ), 3 ) + "/", 1, [address] )
#cond の最初の条件をさらに厳密にするには
#文字位置( [address], "http" ) = 1
を以下↓の
#文字位置( [address], "https://" ) = 1 .or #文字位置( [address], "http://" ) = 1
とすればよいですが、式が長くなるのでここまで厳密にしなくてもよいだろうと思います。
|
|