标题:有没有保留特定字符的函数?
只看楼主
su0527
Rank: 2
等 级:论坛游民
帖 子:452
专家分:79
注 册:2015-1-10
结帖率:96.03%
已结贴  问题点数:20 回复次数:7 
有没有保留特定字符的函数?
比如:AB%-5-7#88@
通过函数只保留字母和数字,结果为AB5788
搜索更多相关主题的帖子: 保留 特定 字符 函数 结果 
2018-11-12 08:02
isealer
Rank: 3Rank: 3
等 级:论坛游侠
威 望:4
帖 子:33
专家分:110
注 册:2017-8-25
得分:15 
A2Z='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
s1='AB%-5-7#88@'
s2='1234567890'+A2Z+LOWER(A2Z)
?CHRTRAN(s1,CHRTRAN(s1,s2,''),'')
2018-11-12 08:28
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:0 
"比如"是解决不了问题的,要拿出全部数据出来让大家看看!

坚守VFP最后的阵地
2018-11-12 11:50
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:5 
就楼主比如而言的问题的解决方法
cStr="AB%-5-7#88@"
?CHRTRAN(cStr,"%-#@","")

坚守VFP最后的阵地
2018-11-12 11:55
su0527
Rank: 2
等 级:论坛游民
帖 子:452
专家分:79
注 册:2015-1-10
得分:0 
回复 2楼 isealer
您的回答是我想要的结果。

我原本是这样实现的:
t=AB%-5-7#88@
u=""
FOR i=1 TO LEN(t)
    m=SUBSTR(t,i,1)
    IF ATC(m,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789")<1
    m=""
    ENDIF
    u=u+m
ENDFOR
t=u
看来可以用您的方法替换了。谢谢。
2018-11-12 13:00
su0527
Rank: 2
等 级:论坛游民
帖 子:452
专家分:79
注 册:2015-1-10
得分:0 
回复 4楼 sdta
其它特殊字符不确定会有什么,不管会有什么,只保留其它字母和数字。
二楼是我想要的答案。谢谢您的答复。
2018-11-12 13:02
antony521
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:168
专家分:161
注 册:2009-8-20
得分:0 
回复 2楼 isealer
如果要保留汉字、字母和数字呢?比如规范门牌号和商品型号。
2018-11-13 09:50
isealer
Rank: 3Rank: 3
等 级:论坛游侠
威 望:4
帖 子:33
专家分:110
注 册:2017-8-25
得分:0 
思路大概是这样:用 chrtranc() 函数,列举可能出现的符号和特殊字符,这个可能比较困难
2018-11-14 09:49



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-491189-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.080661 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved