电竞比分网-中国电竞赛事及体育赛事平台

分享

VFP 中的字符串替換函數(shù) CHRTRAN() STRTRAN()

 Alkaid2015 2016-05-18

CHRTRAN() 函數(shù)

 

將一字符串中的某些字符替換為另一些字符。

語法

CHRTRAN(字符表達式1,字符表達式2,字符表達式3)

返值類型

字符型

參數(shù)描述

字符表達式1:字符串,其中的某些字符將被替換。

字符表達式2:確定字符表達式1中的哪些字符將被替換。

字符表達式3:用于替換的字符。

看了上面的內(nèi)容后可能還是有點稀里糊涂,那就用一個例子來說明吧:

CHRTRAN('AABCDEF', 'ACE', 'XYZ')

顯示結(jié)果是:XXBYDZF

即用“X”替換“AABCDEF”中的“A”,“Y”替換“C”,“Z”替換“E”。這下明白了吧:)

注意
 如果“字符表達式3”中的字符少于“字符表達式2”中的字符數(shù),那么“字符表達式1”與“表達式2”中多余的字符相匹配的字符將被刪除,怎么講起來總象繞口令,還是看例子:
CHRTRAN('AABCDEF', 'ACE', 'XY')

顯示結(jié)果是:XXBYDF,“E”被刪掉,或者說“XY”中第3個字符是空字符,“E”被這個空字符替換了。
 

說明

另有一個函數(shù) STRTRAN(),主要用于雙字節(jié)的字符,如字符串中有中文,最好使用這個函數(shù)。

CHRTRAN(), 替換字符,如CHRTRAN("123456", "135", "ABC") ==> "A2B4C6"
STRTRAN(),替換字符串,如STRTRAN("123456", "123", "112233") ==> "112233456"


--------------------------------------------------------------------------------

s = STRTRAN(s, "b", "x")

--------------------------------------------------------------------------------

UP

--------------------------------------------------------------------------------

其實strtran可以替代chrtran,vfp中string和chr不是分得很清晰.

--------------------------------------------------------------------------------

strtran可以替代chrtran?

STRTRAN()是替換整個字符的,CHRTRAN()是一個一個字符替換的,某些時候相同,但兩個函數(shù)面向不同的用途。

s = "1,2,3,4,5"
STRTRAN(s, ",", "-")
CHRTRAN(s, ",", "-")

此時是相同的,但此時應(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")

此時兩者結(jié)果相同,但運行機理是不同的,此時應(yīng)該用STRTRAN()


s = "1 1 1" && 內(nèi)含一個半角空格和一個全角空格
此時可用CHRTRANC(s, "  ", "")將其中的“空格”去掉,不管全角還是半角

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多