| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2081 人关注过本帖
标题:[求助]如何将宽度不固定的字符串中的数字提取出来并求和
取消只看楼主 加入收藏
lygcw9603
Rank: 5Rank: 5
等 级:职业侠客
威 望:1
帖 子:233
专家分:357
注 册:2006-8-27
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:8 
[求助]如何将宽度不固定的字符串中的数字提取出来并求和
任意字符串(长度不定),其形式满足:任意位字符+任意位数字+任意位字符+
 任意位数字+...,如何将字符串中的数字提取出来进行累加,如"战2.1上23.03海2",
 最后结果为:2.1+23.03+2=27.13。
代码要通用并简练。

[ 本帖最后由 lygcw9603 于 2012-9-2 19:58 编辑 ]
搜索更多相关主题的帖子: 如何 字符串 通用 
2012-09-02 13:03
lygcw9603
Rank: 5Rank: 5
等 级:职业侠客
威 望:1
帖 子:233
专家分:357
注 册:2006-8-27
收藏
得分:0 
回复 3楼 hu9jj
通用标准:类似问题都能解决
简练标准:代码最少,速度其次。
2012-09-02 19:53
lygcw9603
Rank: 5Rank: 5
等 级:职业侠客
威 望:1
帖 子:233
专家分:357
注 册:2006-8-27
收藏
得分:0 
以下是引用cnfarer在2012-9-2 21:00:45的发言:

解析字符串!!!
请版主明示!如何解析?
2012-09-02 21:23
lygcw9603
Rank: 5Rank: 5
等 级:职业侠客
威 望:1
帖 子:233
专家分:357
注 册:2006-8-27
收藏
得分:0 
以下是引用taohua300在2012-9-3 09:51:56的发言:

不知道你的字符串里面是否要求处理负数 ?
先谢谢了,要考虑各种可能出现的情况的最优处理方案。
2012-09-03 12:13
lygcw9603
Rank: 5Rank: 5
等 级:职业侠客
威 望:1
帖 子:233
专家分:357
注 册:2006-8-27
收藏
得分:0 
以下是引用taohua300在2012-9-3 09:49:37的发言:

Clear
lcString = "战2.1上23.03海2"
lcTemp = Chrtranc(lcString, '0123456789.', '')
lcString = Chrtranc(lcString, lcTemp, Replicate('|', Lenc(lcTemp)))
m.s = 0
For i = 1 To Getwordcount(lcString, '|')
    m.s = m.s + Val(Getwordnum(lcString, i, '|'))
Next
? m.s
思路:
将字符串中非数字和“.”的字符全部替换成 '|'
然后使用Getwordnum 和 取出字符转化成数值型相加
不能头痛医头,脚痛医脚,要有一个合理的方法
2012-09-03 12:31
lygcw9603
Rank: 5Rank: 5
等 级:职业侠客
威 望:1
帖 子:233
专家分:357
注 册:2006-8-27
收藏
得分:0 
回复 17楼 taohua300
谢谢了,按题意问题已解决。
lcString = Chrtranc(lcString, lcTemp, Replicate('|', Lenc(lcTemp)))
可改为:lcString = Chrtranc(lcString, lcTemp, '|')

[ 本帖最后由 lygcw9603 于 2012-9-3 15:40 编辑 ]
2012-09-03 15:37
lygcw9603
Rank: 5Rank: 5
等 级:职业侠客
威 望:1
帖 子:233
专家分:357
注 册:2006-8-27
收藏
得分:0 
以下是引用taohua300在2012-9-3 17:01:58的发言:

改为:lcString = Chrtranc(lcString, lcTemp, '|')
是不行的
至少vfp9.0不通过
VFP9.0运行正常
2012-09-03 17:15
lygcw9603
Rank: 5Rank: 5
等 级:职业侠客
威 望:1
帖 子:233
专家分:357
注 册:2006-8-27
收藏
得分:0 
一样
2012-09-04 10:08
lygcw9603
Rank: 5Rank: 5
等 级:职业侠客
威 望:1
帖 子:233
专家分:357
注 册:2006-8-27
收藏
得分:0 
不好意思,只看中间过程了,没看最后结果,还是用REPLICATE()对
2012-09-04 10:34
快速回复:[求助]如何将宽度不固定的字符串中的数字提取出来并求和
数据加载中...
 
   



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

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