将⼀字符串中的某些字符替换为另⼀些字符。
语法
CHRTRAN(字符表达式1,字符表达式2,字符表达式3)
返值类型
字符型
参数描述
字符表达式1:字符串,其中的某些字符将被替换。
字符表达式2:确定字符表达式1中的哪些字符将被替换。
字符表达式3:⽤于替换的字符。
看了上⾯的内容后可能还是有点稀⾥糊涂,那就⽤⼀个例⼦来说明吧:
CHRTRAN(’AABCDEF’, ’ACE’, ’XYZ’)
显⽰结果是:XXBYDZF
即⽤“X”替换“AABCDEF”中的“A”,“Y”替换“C”,“Z”替换“E”。这下明⽩了吧:)
注意如果“字符表达式3”中的字符少于“字符表达式2”中的字符数,那么“字符表达式1”与“表达式2”中多余的字符相匹配的字符将被删除,怎么讲起来总象绕⼝令,还是看例⼦:
CHRTRAN(’AABCDEF’, ’ACE’, ’XY’)
显⽰结果是:XXBYDF,“E”被删掉,或者说“XY”中第3个字符是空字符,“E”被这个空字符替换了。
说明
另有⼀个函数 CHRTRANC(),主要⽤于双字节的字符,如字符串中有中⽂,使⽤这个函数。
========================================================================
请问,VFP中有没有字符串替换函数
[ 来源:ITWENKU 时间: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
其实strtran可以替代chrtran,vfp中string和chr不是分得很清晰.
strtran可以替代chrtran?
STRTRAN()是替换整个字符的,CHRTRAN()是⼀个⼀个字符替换的,某些时候相同,但两个函数⾯向不同的⽤途。
字符串replace函数
s = "1,2,3,4,5"
STRTRAN(s, ",", "-")
CHRTRAN(s, ",", "-")
此时是相同的,但此时应该⽤CHRTRAN()
s = "{1},{2},{3},{4},{5}"
CHRTRAN(s, "{}", "[]")可以将上⾯的字符串转换成"[1],[2],[3],[4],[5]",⽽STRTRAN()就做不到
s = "12345"
STRTRAN(s, "12345", "ABCDE")
CHRTRAN(s, "12345", "ABCDE")
此时两者结果相同,但运⾏机理是不同的,此时应该⽤STRTRAN()
s = "1 1 1" && 内含⼀个半⾓空格和⼀个全⾓空格
此时可⽤CHRTRANC(s, "  ", "")将其中的“空格”去掉,不管全⾓还是半⾓

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。