Foxtable(狐表)用户栏目专家坐堂 → 求教,按条件取字符数组符合条件的值的简更方法?


  共有14726人关注过本帖树形打印复制链接

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

帅哥哟,离线,有人找我吗?
baoxyang
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3313 积分:23146 威望:0 精华:1 注册:2009/3/31 11:25:00
求教,按条件取字符数组符合条件的值的简更方法?  发帖心情 Post By: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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
mr725
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By: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

 回到顶部
帅哥哟,离线,有人找我吗?
baoxyang
  3楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3313 积分:23146 威望:0 精华:1 注册:2009/3/31 11:25:00
  发帖心情 Post By:2010/4/23 11:25:00 [只看该作者]

谢谢!!

 回到顶部
帅哥哟,离线,有人找我吗?
程兴刚
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:7249 积分:40704 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By: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")

 回到顶部
帅哥哟,离线,有人找我吗?
mr725
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By: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楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:7249 积分:40704 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By: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都可以是变量

 回到顶部
帅哥哟,离线,有人找我吗?
mr725
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By: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楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:7249 积分:40704 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By: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 

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


 回到顶部
帅哥哟,离线,有人找我吗?
baoxyang
  9楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3313 积分:23146 威望:0 精华:1 注册:2009/3/31 11:25:00
  发帖心情 Post By:2010/4/23 16:05:00 [只看该作者]

多谢两位版主提供的帮助!

 回到顶部
帅哥哟,离线,有人找我吗?
mr725
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2010/4/23 16:20:00 [只看该作者]

以下是引用baoxyang在2010-4-23 16:05:00的发言:
多谢两位版主提供的帮助!

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


 回到顶部
总数 16 1 2 下一页