1

VisualFoxProをしばらく使用していません。今日、私の元同僚から、名前フィールドから文字以外の文字を削除する方法を尋ねられました。つまり、azとAZのみが許可されています。strstranという関数を使ってそれをしたことを覚えています。azとAZを含む変数を定義する必要がありました。でも今は覚えていません。誰かがこの問題を処理する方法を知っていますか?前もって感謝します。

4

3 に答える 3

5

CHRTRAN() 関数を使用します。

FUNCTION GetAlphaCharacters
    LPARAMETERS tcExpressionSearched

    LOCAL lcAllowedCharacters
    m.lcAllowedCharacters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"

    RETURN CHRTRAN(m.tcExpressionSearched, CHRTRAN(m.tcExpressionSearched, m.lcAllowedCharacters, ""), "")
ENDFUNC
于 2013-02-27T11:25:33.870 に答える
1

もう 1 つのオプションは、ISALPHA() を使用することです。これは文字列の一番左の位置のみを調べますが、大文字と小文字は区別されません。

***This should work, but I haven't tested it.
myresults = ""
myvar = "MyText12"
FOR(i = 1 TO LEN(myvar))
   IF ISALPHA( SUBSTR(myvar, i, 1) )
     myresults = myresults +  SUBSTR(myvar, i, 1)
   ENDIF
ENDFOR
RETURN myresults
于 2013-02-27T13:51:06.843 に答える