VFP字符串替換函數(shù)CHRTRAN()使用方法

字號(hào):

將一字符串中的某些字符替換為另一些字符。
    語法
    CHRTRAN(字符表達(dá)式1,字符表達(dá)式2,字符表達(dá)式3)
    返值類型
    字符型
    參數(shù)描述
    字符表達(dá)式1:字符串,其中的某些字符將被替換。
    字符表達(dá)式2:確定字符表達(dá)式1中的哪些字符將被替換。
    字符表達(dá)式3:用于替換的字符。
    看了上面的內(nèi)容后可能還是有點(diǎn)稀里糊涂,那就用一個(gè)例子來說明吧:
    ? CHRTRAN(’AABCDEF’, ’ACE’, ’XYZ’)
    顯示結(jié)果是:XXBYDZF
    即用“X”替換“AABCDEF”中的“A”,“Y”替換“C”,“Z”替換“E”。這下明白了吧:)
    注意如果“字符表達(dá)式3”中的字符少于“字符表達(dá)式2”中的字符數(shù),那么“字符表達(dá)式1”與“表達(dá)式2”中多余的字符相匹配的字符將被刪除,怎么講起來總象繞口令,還是看例子:
    ? CHRTRAN(’AABCDEF’, ’ACE’, ’XY’)
    顯示結(jié)果是:XXBYDF,“E”被刪掉,或者說“XY”中第3個(gè)字符是空字符,“E”被這個(gè)空字符替換了。
    說明
    另有一個(gè)函數(shù) CHRTRANC(),主要用于雙字節(jié)的字符,如字符串中有中文,使用這個(gè)函數(shù)。
    ========================================================================
    請(qǐng)問,VFP中有沒有字符串替換函數(shù)
    [ 來源:ITWENKU 時(shí)間:2006-9-21 20:03:18 | 瀏覽:12人次 ]
    例如:
    s = abc
    s = replace(s, "b", "x")
    ? s
    s輸出axc
    CHRTRAN(), 替換字符,如CHRTRAN("123456", "135", "ABC") ==> "A2B4C6"
    STRTRAN(),替換字符串,如STRTRAN("123456", "123", "112233") ==> "112233456"
    s = STRTRAN(s, "b", "x")
    UP
    其實(shí)strtran可以替代chrtran,vfp中string和chr不是分得很清晰.
    strtran可以替代chrtran?
    STRTRAN()是替換整個(gè)字符的,CHRTRAN()是一個(gè)一個(gè)字符替換的,某些時(shí)候相同,但兩個(gè)函數(shù)面向不同的用途。
    s = "1,2,3,4,5"
    STRTRAN(s, ",", "-")
    CHRTRAN(s, ",", "-")
    此時(shí)是相同的,但此時(shí)應(yīng)該用CHRTRAN()
    s = "{1},{2},{3},{4},{5}"
    CHRTRAN(s, "{}", "[]")可以將上面的字符串轉(zhuǎn)換成"[1],[2],[3],[4],[5]",而STRTRAN()就做不到
    s = "12345"
    STRTRAN(s, "12345", "ABCDE")
    CHRTRAN(s, "12345", "ABCDE")
    此時(shí)兩者結(jié)果相同,但運(yùn)行機(jī)理是不同的,此時(shí)應(yīng)該用STRTRAN()
    s = "1 1 1" && 內(nèi)含一個(gè)半角空格和一個(gè)全角空格
    此時(shí)可用CHRTRANC(s, "  ", "")將其中的“空格”去掉,不管全角還是半角