みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
FM16Pro Win10です。
タイトルのとおり、
Middle関数で全角半角混在のテキストデータから、取得する文字数と開始文字位置を検出する計算式で困っています。
<文字列>
あいうえおかきくけこ
あいう12341234くけこ
12345678901234567890
<フィールド1>
あいうえお
あいう1234
1234567890
<フィールド2>
かきくけこ
1234くけこ
1234567890
できればカスタム関数は使用したくなく、表現する最終的な関数はMiddle関数で行いたいです。
そのためには、Middle ( テキスト ; 先頭文字位置 ; 文字数 )の先頭文字位置と文字数を検出し、これを組み合わせて実現したいと考えています。
前はMiddleb関数を使用していましたがいまは無いため皆さんご教授願います。
Offline
Length ( テキスト & Filter ( テキスト ; RomanZenkaku ( KanaZenkaku ( テキスト ) )))
でバイト数が求められるので、loop か再帰関数を作って変化させていけば良いでしょうね。
Offline
Shin様ありがとうございます。
先ずは、10文字目までの中に全角が何文字あるか拾いました。
そこから、全て半角の場合は10文字、あとは10文字から全角の文字数を差し引き対応できました。
”かきくけこ”の方は、上記の文字数からMiddleの先頭文字位置を計算し、拾う文字数も上記の内容を繰り返して対応できました。
Offline
Pages: 1
[ Generated in 0.005 seconds, 9 queries executed - Memory usage: 544.32 KiB (Peak: 580.24 KiB) ]