Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共16 条记录, 每页显示 10 条, 页签: [1] [2]
[浏览完整版]

标题:求教,按条件取字符数组符合条件的值的简更方法?

1楼
baoxyang 发表于:2010/4/23 10:38:00
例如
dim s as string = "1,a,b,c|2,e,f,g|3,t,y,u"
求每一个以“|”分开的字符串,查找以“,”分开的字符串第一个字符等于2(是个变量)的第二个字符是e。
把得到的值(e)替换成(Z)
使得s = "1,a,b,c|2,Z,f,g|3,t,y,u"
如何写代码?谢各位指教!

[此贴子已经被作者于2010-4-23 10:46:04编辑过]
2楼
mr725 发表于:2010/4/23 11:09:00
for i as integer = 0 to s.split("|").length-1
    if s.split("|")(i).substring(0,1) = 2 
        s.split("|")(i).replace(s.split("|")(i).substring(2,1),"Z")
    end if
next
3楼
baoxyang 发表于:2010/4/23 11:25:00
谢谢!!
4楼
程兴刚 发表于:2010/4/23 12:34:00
dim s as string = "1,a,b,c|2,e,f,g|3,t,y,u".replace("|2,e","|2,z")
5楼
mr725 发表于:2010/4/23 12:53:00

楼主的 2 是个变量,应该这样:

dim s as string = "1,a,b,c|2,e,f,g|3,t,y,u|2,e,f,g|3,t,y,u"
s= s.replace("|*,e","|*,z")       '这个通配符怎么用呢?
output.show(s)        '结果:1,a,b,c|2,e,f,g|3,t,y,u|2,e,f,g|3,t,y,u  哈哈 不对呀 。

不会用通配符了,还是这样清爽啊:
dim s1 as string
for i as integer = 0 to s.split("|").length-1
    if s.split("|")(i).substring(0,1) = 2
       s1 = s.split("|")(i).replace(s.split("|")(i).substring(2,1),"Z")
       s = s.replace(s.split("|")(i),s1)
    end if
next
output.show(s)       '结果:1,a,b,c|2,Z,f,g|3,t,y,u|2,Z,f,g|3,t,y,u 

[此贴子已经被作者于2010-4-23 13:49:28编辑过]
6楼
程兴刚 发表于:2010/4/23 13:25:00
dim s as string = "1,a,b,c|2,e,f,g|3,t,y,u".replace("|" & 2 & "," & e,"|" & 2 & "," & z)

2、e、z都可以是变量
7楼
mr725 发表于:2010/4/23 14:05:00
这样不是更简单:
dim s as string = "1,a,b,c|2,e,f,g|3,t,y,u|2,e,f,g|3,t,y,u"
s = s.replace("e","Z")    '如果每个|....|之间只有一个e
Output.Show(s)           '结果: 1,a,b,c|2,Z,f,g|3,t,y,u|2,Z,f,g|3,t,y,u 
8楼
程兴刚 发表于:2010/4/23 15:15:00
以下是引用mr725在2010-4-23 14:05:00的发言:
这样不是更简单:
dim s as string = "1,a,b,c|2,e,f,g|3,t,y,u|2,e,f,g|3,t,y,u"
s = s.replace("e","Z")    '如果每个|....|之间只有一个e
Output.Show(s)           '结果: 1,a,b,c|2,Z,f,g|3,t,y,u|2,Z,f,g|3,t,y,u 

让楼主试试,看看能否满足要求?

9楼
baoxyang 发表于:2010/4/23 16:05:00
多谢两位版主提供的帮助!
10楼
mr725 发表于:2010/4/23 16:20:00
以下是引用baoxyang在2010-4-23 16:05:00的发言:
多谢两位版主提供的帮助!

哈哈,俺不是版主,甚至不如你老弟,跟着玩fox罢了,老程才是,虽然他6楼代码有笔误,但他还是更严谨些····

共16 条记录, 每页显示 10 条, 页签: [1] [2]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .03516 s, 2 queries.