過去の桐井戸端BBS (桐ver.8) |
14856 | 英数字が混在したデータから英文字だけを取り出したい | masa | 2002/01/24-17:42 |
項目値で H160〜、G160〜、R148〜、RB39〜、というふうに 先頭の英字と数字が一緒になってるのですが、先頭の2文字中の英字だけ 選びたい場合どうしたらよろしでしょうか? (数字は色々変わります。) #部分列( #半角( [商品名] ) , -1 , -2 ) とすると H1、G1、R1、RB となり数字が含まれています。 #部分列( #半角( [商品名] ) , -1 , -1 ) とすると H、G、R、R となり3番目と4番目が同じになってしまうので困っています。 よろしくお願いします。 | |||
14858 | Re:英語だけの文字選択について | 悲しげ | 2002/01/24-18:00 |
記事番号14856へのコメント どもっ、masaさん #部分列([値],1,#is数字([値],0)-1) でどうでしょう? | |||
14860 | Re:早速ありがとうございます。 | masa | 2002/01/24-18:24 |
記事番号14858へのコメント 悲しげさん こんばんは。 > #部分列([値],1,#is数字([値],0)-1) 出来ました。ありがとうございます。 すみませんがもう少し教えて下さい。 #is数字([商品名],0)の関数で sw = 0 : str に数字が含まれていればその文字位置を返す とありましたが、「その文字位置を返す」ってどういう意味なんでしょうか? 数字のある場所に戻るという事なんでしょうか? そこから-1されて英字だけ残るのでしょうか? よろしくお願いします。 | |||
14862 | Re:早速ありがとうございます。 | 悲しげ | 2002/01/24-20:28 |
記事番号14860へのコメント 例えば abc123 とあった場合、 #is数字(…,0)は最初に数字が出て来るのは何文字目か、と云うことです から、この場合は、4になります。 次に、#部分列で切り出すのは、1文字目から3文字目(即ち上記の4から1を減じた値)と云うことになります。 | |||
14863 | Re:早速ありがとうございます。 | 悲しげ | 2002/01/24-20:32 |
記事番号14862へのコメント あ、そうか。 masaさんは、「-1」も#is数字関数の中の引き数かと思ったんですね。(^^;) カッコ閉じを注意深くみればお判りかと思いますが、 これは、#部分列関数の引き数の方に当たります。 | |||
14868 | 「返す」の言葉の意味 | 佐田 守弘 | 2002/01/25-00:39 |
記事番号14860へのコメント masaさん 関数の機能をいう時に、「○○を返します」と表現します。 この「返す」とは、その値が関数値として得られるという意味です。 別の言い方をすると、 #is数字(&文章,0)は、&文章の文字列の先頭から順に文字種を調べ、 その位置で文字が数字だったら、その桁数の数値が関数の値として得られるわけです。 この時に、関数がその値を返して来る(戻して来る) から、式がそれを受け取れるわけです。関数は値を返すので、上記のように 「○○を返します」と表現します。 ですから、表などの上でカーソルがその位置に戻ったりするわけではありません 佐田守弘(KS-00119) | |||
14869 | Re:ありがとうございました。 | masa | 2002/01/25-09:29 |
記事番号14868へのコメント 悲しげさん 佐田 守弘さん おはよう御座います 詳しい説明ありがとうございました。おかげさまで式の意味も理解できました。 何かありましたら、又よろしくお願いします。 |