vfp替换数字中的某位 15
比如说 A列里原来的数字是“1234567”,现在想把前两位保留,后边的34567替换成56789,这个命令怎么写? 展开
replace all a with strtran(a,"34567","56789")
strtran函数的作用就是在某个字符串中查找特定的字符串,如果找到,把找到的子串替换成另一个字符串。
以下是帮助文档中的:
STRTRAN(cSearched, cExpressionSought [, cReplacement]
[, nStartOccurrence] [, nNumberOfOccurrences] [, nFlags])
参数
cSearched
指定要搜索的字符表达式,cSearched 可以是一个备注字段。
cExpressionSought
指定在 cSearched 中要搜索的字符表达式,搜索过程区分大小写。cExpressionSought
可以是一个备注字段。
[, cReplacement]
指定用来替换在 cSearched 中每次出现的 cSearchFor 的字符表达式。如果省略
cReplacement,则用空字符串替换每次出现的 cExpressionSought 。
[,
nStartOccurrence]
指定哪个出现的 cExpressionSought 首先替换。例如,如果 nStartOccurrence 是 4,则替换
cSearched 中第 4 个出现的 cExpressionSought,而前面三次出现的
cExpressionSought 保持不变。如果省略 nStartOccurrence,替换开始的位置默认为第一次出现位置。
[,
nNumberOfOccurrences]
指定要替换的 cExpressionSought 数目。如果省略 nNumberOfOccurrences,则从用
nStartOccurrence 指定的位置开始,替换所有出现的 cExpressionSought。
[, nFlags]
指定按照该值后面进行区分大小写的搜索。
注意:
如果必需仅指定 nFlags 和必要的参数一起设置, 指定–1
为你需要忽略的可选参数。
下列表格列出 nFlags 的值:
nFlags
说明
0 或 -1
搜索是区分大小写的, 用精确的 cReplacement 文本进行替换。(默认)。
注意:
此设置为在 Visual FoxPro 7.0 以前的版本中的 STRTRAN( ) 指定原始的行为。也可以传递 -1 为
nFlags 来指定默认行为。
1
搜索是不区分大小写的, 用精确的 cReplacement 文本进行替换。
2
搜索是区分大小写的, 用 cReplacement 的大小写变化来匹配找到的大小写字符串进行替换。
3
搜索是不区分大小写的,用 cReplacement
的大小写变化来匹配找到的大小写字符串进行替换。
注意:
cReplacement 的大小写改变仅在找到的字符串全部是大写,
小写或混合格式时发生。
返回值
字符型。STRTRAN( ) 返回结果字符串。
示例
以下示例用 STORE 命令保存字符串 "abracadabra" 到变量 gcString。STRTRAN( )
函数替换字符 "a" 为字符 "z" 并用 ? 命令显示 字符串 "zbrzczdzbrz"。STRTRAN( ) 然后用字符
"q" 替换三次字符 "a", 从第二次出现开始替换, 并显示 "abrqcqdqbra"。
复制代码
STORE 'abracadabra' TO gcString
? STRTRAN(gcString, 'a', 'z')
replace A列字段名 left(A列字段名,2)+'56789' all
若是数字型的
replace A列字段名 round(A列字段名,-5)+56789 all