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

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

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

You are not logged in.

Announcement

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


#1 2013-09-25 15:27:27

年寄りの初心者
Guest

substitute??

いつもお世話になります。

英文字の文字列がありまして、それを大文字と小文字を入れ替えたいとします。
substitute(文字列 ;["a" ;"A" ];["b";"B"]・・・・["Y";"y"];["Z";z"])
という計算式を作りましたが、、、、
文字列 aaaaAAAAをこの式にあてはめると "aaaaaaaa"みたいになります。
"AAAAaaaa"が出したい値です。

スクリプトで文字列を分解しながらやればできるとは思いますが、
関数をつかって計算式で導く方法はなにかあるでしょうか?

pro12アドです。

#2 2013-09-25 15:40:27

シャチ
Member

Re: substitute??

スクリプトで回すよりしょうがないかもなぁ。。。
Advだからカスタム関数使えばいいですよ。

Offline

#3 2013-09-25 15:47:49

concat
Guest

Re: substitute??

あとの置換元にある文字(A等)は、一旦別の使わない文字(全角のAとか)に置換して、後からもう一度目的の文字に置換します。

#4 2013-09-25 16:06:41

年寄りの初心者
Guest

Re: substitute??

ありがとうございます。
一度それらの方法でやってみます。

#5 2013-09-25 16:12:31

concat
Guest

Re: substitute??

カスタム関数OpCase(text)

Case ( Length ( text ) >= 1 ;
  Let ( c = Code ( Left ( text ; 1 ) ) ;
   Char ( c +
    Case (
     c >= Code ( "a" ) and c <= Code ( "z" ) ; -1 ;
     c >= Code ( "A" ) and c <= Code ( "Z" ) ; 1
    ) * ( Code ( "a" ) - Code ( "A" ) )
   )
  )
  & OpCase ( Replace ( text ; 1 ; 1 ; "" ) )
)

#6 2013-10-01 21:21:05

年寄りの初心者
Guest

Re: substitute??

ありがとうございます。
カスタム関数でもやってみました。
うまくいきました。
関数の細かい動きがまだ理解できませんが、追々勉強して理解したいとおもいます。

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.005 seconds, 7 queries executed - Memory usage: 551.01 KiB (Peak: 583.27 KiB) ]