VFP字符串替换函数CHRTRAN()使用方法

VFP字符串替换函数CHRTRAN()使用方法,第1张

VFP字符串替换函数CHRTRAN()使用方法,第2张

用其他字符替换字符串中的一些字符。
语法
CHRTRAN(字符表达式1,字符表达式2,字符表达式3)
返回值类型
字符类型
参数说明
字符表达式1:字符串,其中的部分字符将被替换。
字符表达式2:确定字符表达式1中的哪些字符将被替换。
字符表达式3:用于替换的字符。
看了上面的,可能还是有点迷茫。我们用一个例子来说明:
?Chrtran ('AABCDEF ',' ace ',' XYZ')
显示结果为:XXBYDZF
即把“AABCDEF”中的“a”替换为“x”,把“y”替换为“c”,把“z”替换为“e”。这一点很清楚:)
注意,如果字符表达式3中的字符数小于字符表达式2中的字符数,则与字符表达式1和表达式2中的冗余字符相匹配的字符将被删除。怎么听起来总像绕口令,还是你看看例子:
?Chrtran ('a abcdef ',' ace ',' XY')
显示:XXBYDF,删除“e”,或者“XY”中的第三个字符是空,用这个空字符替换“e”。

说明
还有一个函数CHRTRANC(),主要用于双字节字符。如果字符串中有中文字符,使用该函数。

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

例如:

s = abc
s = replace(s," b "," x")
?s

输出saxc

CHRTRAN(),替换chrtran ("123456 "," 135 "," ABC ")= = > " a2b4c 6 "
str ran(),替换strtran ("123456 "," 123 ","

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

起来

其实strtran可以代替chrtran。在VFP,string和chr没有明确区分。

Strtran能代替chrtran?

STRTRAN()替换整个字符,CHRTRAN()一次替换一个字符,有时候也是一样的,只是两个函数的用途不同。

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

这个时候也是一样,但是这个时候要用CHRTRAN()。

S = "{1}、{2}、{3}、{4}、{ 5 } "
str ran(s," {0} "、"[]")可以将上述字符串转换为"[1]、[2]、[3]、[4]

s = " 12345 "
str ran(s," 12345 "," ABCDE")
CHRTRAN(s," 12345 "," ABCDE ")

此时,两种方法的结果是相同的,但运行机制不同。这时,应该使用STRTRAN()。

S = "1 1 1" &&包含一个半角空晶格和一个全角空晶格
。这时候可以用CHRTRANC(s,"","")去掉"空格",不管全角还是半角。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » VFP字符串替换函数CHRTRAN()使用方法

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情