| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 191 人关注过本帖
标题:请教一个字符处理的问题
只看楼主 加入收藏
fanjinyu9108
Rank: 2
等 级:论坛游民
帖 子:718
专家分:20
注 册:2014-1-16
结帖率:88.1%
收藏
 问题点数:20 回复次数:11 
请教一个字符处理的问题
我的字符串是这样的:(压力:2.5; 材料:铸铁; 管径:250),我需要截取成数组,数组的内容是 2.5  铸铁  250,请问应该怎么弄?其中分号和冒号是固定的
4 天前 14:24
cssnet
Rank: 5Rank: 5
等 级:职业侠客
威 望:5
帖 子:373
专家分:335
注 册:2013-10-4
收藏
得分:0 
dime A1[3]
C1 = "压力:2.5; 材料:铸铁; 管径:250" + ";"
for i=1 to 3
   A1[i] = STREXTRACT(c1, ":", ";", i)
endfor i

想要这样子?

4 天前 15:19
fanjinyu9108
Rank: 2
等 级:论坛游民
帖 子:718
专家分:20
注 册:2014-1-16
收藏
得分:0 
但是如果不知道有几个分号呢?

4 天前 17:35
cssnet
Rank: 5Rank: 5
等 级:职业侠客
威 望:5
帖 子:373
专家分:335
注 册:2013-10-4
收藏
得分:0 
C1 = "压力:2.5; 材料:铸铁; 管径:250" + ";"
n = OCCURS(";", C1)
dime A1[n]
for i=1 to n
   A1[i] = STREXTRACT(c1, ":", ";", i)
endfor i

我只是随手写个示例。其实,这种问题,你去问DeepSeek可能更快一些!
4 天前 17:49
schtg
Rank: 12Rank: 12Rank: 12
来 自:Usa
等 级:贵宾
威 望:67
帖 子:1995
专家分:3961
注 册:2012-2-29
收藏
得分:0 
回复 楼主 fanjinyu9108
是这个意思吗?
图片附件: 游客没有浏览图片的权限,请 登录注册

程序代码:
clear

cstr = "压力:2.5;材料:铸铁;管径:250"
szzs =  alines(arr,cstr,";")
for szs = 1 to szzs
    szz = arr(m.szs)
    arr(m.szs) = substr(alltrim(szz),atc(":",szz) + 2,len(alltrim(szz)) - atc(":",szz))
    ? arr(m.szs)
endfor
4 天前 18:29
fanjinyu9108
Rank: 2
等 级:论坛游民
帖 子:718
专家分:20
注 册:2014-1-16
收藏
得分:0 
好的,非常感谢
前天 12:22
fanjinyu9108
Rank: 2
等 级:论坛游民
帖 子:718
专家分:20
注 册:2014-1-16
收藏
得分:0 
实在抱歉,现在问题变成这样了:一串字符,如下 “压力:2.5; 材料:铸铁; 管径:250”,我想经过处理变成2个字符串: "压力, 材料, 管径"   "2.5,铸铁,250",请问用vfp怎么实现?
前天 16:16
wengjl
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:109
帖 子:2298
专家分:4114
注 册:2007-4-27
收藏
得分:0 
CLEAR
C1 = ";"+"压力:2.5; 材料:铸铁; 管径:250" + ";"
cstr=""
cvle=""
for i=1 to 3
   cstr=cstr + STREXTRACT(c1,";",":",i) +","
endfor i
for i=1 to 3
   cvle=cvle + STREXTRACT(c1,":",";",i) +","
endfor i
? cstr +cvle
这样行不?

只求每天有一丁点儿的进步就可以了
前天 16:27
fanjinyu9108
Rank: 2
等 级:论坛游民
帖 子:718
专家分:20
注 册:2014-1-16
收藏
得分:0 
我要的不是cstr +cvle,而是cstr和cvle分别显示,您的方法后面分别显示时后面多了一个逗号
前天 19:09
schtg
Rank: 12Rank: 12Rank: 12
来 自:Usa
等 级:贵宾
威 望:67
帖 子:1995
专家分:3961
注 册:2012-2-29
收藏
得分:0 
回复 7楼 fanjinyu9108
将第5楼的代码简单处理一下,即可得到结果。
图片附件: 游客没有浏览图片的权限,请 登录注册

程序代码:
clear

cstr = "压力:2.5;材料:铸铁;管径:250"
szzs =  alines(arr,cstr,";")
cstr1 = ""
cstr2 = ""
for szs = 1 to szzs
    szz = arr(m.szs)
    cstr1 = cstr1 + substr(alltrim(szz),1,atc(":",szz) - 1) + iif(szs = szzs,"",",")
    cstr2 = cstr2 + substr(alltrim(szz),atc(":",szz) + 2,len(alltrim(szz)) - atc(":",szz)) + iif(szs = szzs,"",",")
endfor
? cstr1
? cstr2

前天 19:17
快速回复:请教一个字符处理的问题
数据加载中...
 
   



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

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.612513 second(s), 9 queries.
Copyright©2004-2025, BC-CN.NET, All Rights Reserved