| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1792 人关注过本帖
标题:字符替换,有没更加简单的
只看楼主 加入收藏
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3147
专家分:8408
注 册:2015-3-25
结帖率:98.98%
收藏
已结贴  问题点数:20 回复次数:9 
字符替换,有没更加简单的
lcStr1=""
lcStr2=""
FOR i=33 TO 47
    lcStr1 = lcStr1 + CHR(i)
    lcStr2 = lcStr2 + "_"
ENDFOR
FOR i=58 TO 64
    lcStr1 = lcStr1 + CHR(i)
    lcStr2 = lcStr2 + "_"   
ENDFOR
FOR i=91 TO 96
    lcStr1 = lcStr1 + CHR(i)
    lcStr2 = lcStr2 + "_"   
ENDFOR
FOR i=123 TO 128
    lcStr1 = lcStr1 + CHR(i)
    lcStr2 = lcStr2 + "_"   
ENDFOR
?lcStr1
lcTmp="adk-/dad~kj!jkm@0(m),*m&%n$n,l./?lka|+=_jh"

?lcTmp
lcTmp=CHRTRAN(lcTmp,lcStr1,lcStr2)

?lcTmp
2016-10-18 17:32
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:5 
看不懂

坚守VFP最后的阵地
2016-10-18 18:28
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:10 
执行一次CHRTRAN()就搞定遍历查找替换,就VFP本身来说已经是最简单了吧。
2016-10-18 19:04
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3147
专家分:8408
注 册:2015-3-25
收藏
得分:0 
以下是引用sdta在2016-10-18 18:28:39的发言:

看不懂
我是想把一些不能作为字段的字符全部替换为 _
我查看了 chr(1)到 chr(128)的字符,就是我上面的 lcStr等字符,估计不能作为字段的,剩下的就估计是 0到9,大写小字符,和_,
为什么要替换?就是行转列前,检测行内容符合字段名称。。。
2016-10-18 19:35
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:5 
以下是引用mywisdom88在2016-10-18 19:35:44的发言:

我是想把一些不能作为字段的字符全部替换为 _
我查看了 chr(1)到 chr(128)的字符,就是我上面的 lcStr等字符,估计不能作为字段的,剩下的就估计是 0到9,大写小字符,和_,
为什么要替换?就是行转列前,检测行内容符合字段名称。。。
举例看看
2016-10-18 20:12
_Robert
Rank: 1
等 级:新手上路
帖 子:3
专家分:4
注 册:2016-10-19
收藏
得分:0 
新手小白,学习中
2016-10-19 08:50
hyswcyh
Rank: 8Rank: 8
等 级:贵宾
威 望:20
帖 子:391
专家分:896
注 册:2004-11-23
收藏
得分:0 
直接说明来意会更明白!版主还是比较谦虚的!
2016-10-19 22:45
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3147
专家分:8408
注 册:2015-3-25
收藏
得分:0 
以下是引用hyswcyh在2016-10-19 22:45:42的发言:

直接说明来意会更明白!版主还是比较谦虚的!

来意,就是,当你需要把 表内容 进行 行转列时,由于,行内容可以是 -,+/,%,$,#,@, 等等字符,但字段名称是不能有这些字符,所有才会有1楼的想法,我把 1到128的 ASCii码输出来,发现1楼 lcStr1的字符就是不能作为 字段名称的,用 chrtran(字段,lcStr1,lcStr2)把字段的 上述字符全部替换为 _
2016-10-20 11:57
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
这种情况少见,可以忽略不计。

坚守VFP最后的阵地
2016-10-20 12:12
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3147
专家分:8408
注 册:2015-3-25
收藏
得分:0 
以下是引用sdta在2016-10-20 12:12:16的发言:

这种情况少见,可以忽略不计。

也很多啊,就拿产品名称来说,比如 15寸显示器 ,有人就写成 15'显示器,等等不规范的产品名称
2016-10-20 12:27
快速回复:字符替换,有没更加简单的
数据加载中...
 
   



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

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