初心者のFileMaker pro Q&A (旧掲示板)

みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。

1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

You are not logged in.

Announcement

新しい掲示板は、こちら:https://fm-aid.com/forum/t/filemaker


#1 2016-12-08 14:12:31

だん
Member

ワイルドカードのフィールド内容の全置換について

OS:[WIN7]
FileMaker Ver:[AD13]

フィールド内容の全置換について教えてください。

HTMLを置換する方法でわからないためご質問させて頂きます。
よろしくお願いいたします。

このソースを
<table id="_____01" width="780" height="1780" border="0" cellpadding="0" cellspacing="0">

このように置換したいのです。
<table>

ただし、height="1780"の部分の数値が複数あり、height="6980"やheight="4450"など複数存在します。

全置換の計算式は
Substitute ( 商品説明ソース ; "<table id=\"_____01\" width=\"780\" height=\"*\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">" ; "<table>" )
としましたが、思うような結果を得られません。
height=\"*\"にワイルドカードを使用しましたが、やり方が違うのでしょうか?

heightの部分の数値が異なっても、<table>に置換できる計算式を教えてください。

よろしくお願いいたします。

Offline

#2 2016-12-08 14:34:17

シャチ
Member

Re: ワイルドカードのフィールド内容の全置換について

<table>だけにしたいということ?
ならば
Left(商品説明ソース”;6) &">" で済むと思いますが。

Offline

#3 2016-12-08 15:02:27

シャチ
Member

Re: ワイルドカードのフィールド内容の全置換について

どうしても Substituteをつかうのなら
Substitute(商品説明ソース;商品説明ソース;"<table>")
という方法もあります。

Offline

#4 2016-12-08 15:23:08

tim
Guest

Re: ワイルドカードのフィールド内容の全置換について

ソースの中のtableタグを、という意味では。
<table の次のスペースから>の前までを削除、ですね。
一度にはできないので、再帰計算になるでしょう。

#5 2016-12-08 15:24:01

だん
Member

Re: ワイルドカードのフィールド内容の全置換について

シャチ 様

早速のご回答ありがとうございます。

私の質問が間違っておりました。失礼いたしました。

知りたいのは検索の方法でした。

このソースの
<table id="_____01" width="780" height="1780" border="0" cellpadding="0" cellspacing="0">
中にheight="1780"部分が違うレコードが多数存在します。


<table id="_____01" width="780" height="1780" border="0" cellpadding="0" cellspacing="0">
<table id="_____01" width="780" height="5560 border="0" cellpadding="0" cellspacing="0">
<table id="_____01" width="780" height="9760" border="0" cellpadding="0" cellspacing="0">

私が考えたのは
<table id="_____01" width="780" height="*" border="0" cellpadding="0" cellspacing="0">
height="*"の部分にワイルドカードを記載したのですが、検索ができませんでした。

知りたい結果は
<table id="_____01" width="780" height="" border="0" cellpadding="0" cellspacing="0">
height以外の部分は共通となります。
heightの値が異なっても検索できるようにするにるにはどのようにすればよろしいでしょうか?

ご質問の仕方がわかりづらく、失礼いたしました。
ご回答のほどよろしくお願いいたします。

Offline

#6 2016-12-08 15:34:19

シャチ
Member

Re: ワイルドカードのフィールド内容の全置換について

height の値を変えるだけで良いので?

Offline

#7 2016-12-08 15:52:38

シャチ
Member

Re: ワイルドカードのフィールド内容の全置換について

Let(
[
$pos01=Position ( テキスト ; "height" ; 1 ; 1 );
height だけなら
$pos02=Position ( 商品説明ソース ; "border" ; 1 ; 1 );
$txt=Middle ( 商品説明ソース ; $pos01 ; $pos02-$pos01);
$t=Substitute ( $txt ; [0;""] ; [1;""]; [2;""]; [3;""]; [4;""]; [5;""]; [6;""]; [7;""]; [8;""]; [9;""])
];
Substitute(商品説明ソース;$txt;$t)
)
で できますが
ほかは、これを応用してください。
FMPにそれなりのやり方かなぁ。。
他にもあるだろうけど、思いつきで。

Offline

#8 2016-12-08 16:48:00

だん
Member

Re: ワイルドカードのフィールド内容の全置換について

シャチ様

ご回答いただきましてありがとうございます。

シャチ様の式で
<table id="_____01" width="780" height="" border="0" cellpadding="0" cellspacing="0">
上記の希望の結果を得ることができ

Substituteで<table>に置換することができました。
大変助かりました。

短時間にご回答をいただき、大変感謝致します。

また、tim様もご回答いただきまして感謝致します。

これでまたファイルメーカーを使い続けることができとても嬉しいです。
本当にみなさまに感謝致します。

ありがとうございました。

Offline

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.005 seconds, 8 queries executed - Memory usage: 562.13 KiB (Peak: 567.01 KiB) ]