兄弟原是做VB的,现在有这样一个问题
local lcstr1
lcstr1="fjajab ,abjdfkuabjdfka"
现在我想把lcstr1中的所有"ab"子字符串变成"thanks"
结果是lcstr1="fjajthanks ,thanksjdfkuthanksjdfka"
怎么办,在VB中可以用函数replace,VFP中呢,有函数吗?
---------------------------------------------------------------
lcstr1="fjajab ,abjdfkuabjdfka"
STRTRAN(lcstr1,"ab","thanks")
---------------------------------------------------------------
在第一个字符表达式或备注字段中,搜索第二个字符表达式或备注字段,并用第三个字符表达式或备注字段替换每次出现的第二个字符表达式或备注字段。
STRTRAN(cSearched, cExpressionSought [, cReplacement]
[, nStartOccurrence] [, nNumberOfOccurrences] [, nFlags])
返回值
字符型
参数
cSearched
指定要在其中进行搜索的字符表达式,cSearched 参数可以是一个备注字段。
cExpressionSought
在 cSearched 中要搜索的字符表达式,搜索过程区分大小写。cSearchFor 参数可以是一个备注字段。
cReplacement
用来替换在 cSearched 中每次出现的 cSearchFor 的字符表达式。如果省略 cReplacement 参数,则用空字符串替换每次出现的 cSearchFor。
nStartOccurrence
指定哪次出现的 cSearchFor 首先替换。例如,如果 nStartOccurrence 是 4,则替换 cSearched 中第 4 次出现的 cSearchFor,而前面三次出现的 cSearchFor 保持不变;如果省略 nStartOccurrence 参数,替换开始的位置默认为第一次出现位置。
nNumberOfOccurrences
指定要替换的 cSearchFor 数目。如果省略了 nNumberOfOccurrences 参数,则从用 nStartOccurrence 指定的位置开始,替换所有出现的 cSearchFor。
nFlags
按下表的值指定搜索时的区分大小写: nFlags 值 描述
0 (默认) 搜索是大小写敏感的, 用确切的 cReplacement 文本进行替换。这是 Visual FoxPro 7 以前版本的默认行为。
1 搜索是非大小写敏感的, 用确切的 cReplacement 文本进行替换。
2 搜索是大小写敏感的, 用确切的 cReplacement 文本进行替换。
3 搜索是非大小写敏感的; cReplacement 的大小写被改变为匹配要替换的 cExpressionSought 的大小写。
也可以传递给 nFlags 一个 –1 来指定默认的行为。
备注
可以指定替换开始的位置和需要替换多少个,strtran( ) 函数返回结果字符串。如果你只需要指定 nFlags 设置, 为你想跳过可选的参数指定 –1。
示例
STORE 'abracadabra' TO gcString
? STRTRAN(gcString, 'a', 'z') && 显示 zbrzczdzbrz
? STRTRAN(gcString, 'a', 'q', 2, 3) && 显示 abrqcqdqbra