研究一小段代码

无·法 2009-09-14 03:12:02
Dim s$
s = "121212121"
MsgBox Replace(s, "121", "131")

这个结果是多少?
...全文
88 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
king06 2009-09-15
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 guyun0 的回复:]
引用 2 楼 king06 的回复:
每次从遇到的第一个开始替换。。。

肯定不会每次都从遇到的第一个开始替换,假设Replace(s, "1", "11"),那岂不是死循环了。
结果应该是131213121,直接替换。
[/Quote]
啥死循环,一个循环中执行了替换"1",将进行下一个字符的比较,不会再回到开头比较,就像for循环;
就是说遇到匹配的只替换了一次!
guyun0 2009-09-15
  • 打赏
  • 举报
回复
那是你描述有误,不存在"每次"的说法,本来就有一次,你还说每次,这样说会引起别人的误解。
无·法 2009-09-14
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 guyun0 的回复:]
引用 2 楼 king06 的回复:
每次从遇到的第一个开始替换。。。


肯定不会每次都从遇到的第一个开始替换,假设Replace(s, "1", "11"),那岂不是死循环了。
结果应该是131213121,直接替换。
[/Quote]
一针见血,今天就犯了个小错误,改用MsgBox Replace(s, "12", "13")
YYlove_786 2009-09-14
  • 打赏
  • 举报
回复
Replace是替换的意思呀,只要是121的地方就换成131
guyun0 2009-09-14
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 king06 的回复:]
每次从遇到的第一个开始替换。。。
[/Quote]

肯定不会每次都从遇到的第一个开始替换,假设Replace(s, "1", "11"),那岂不是死循环了。
结果应该是131213121,直接替换。
xiaoyaobihai 2009-09-14
  • 打赏
  • 举报
回复
取代
hanvan 2009-09-14
  • 打赏
  • 举报
回复
131213121呗,多简单。。
clear_zero 2009-09-14
  • 打赏
  • 举报
回复
131213121
songs 2009-09-14
  • 打赏
  • 举报
回复
我没有反应过来,电脑帮我忙
131213121
KGallery 2009-09-14
  • 打赏
  • 举报
回复
131213121
king06 2009-09-14
  • 打赏
  • 举报
回复
每次从遇到的第一个开始替换。。。
孤独剑_LPZ 2009-09-14
  • 打赏
  • 举报
回复
乍一看还真有点犹豫,131213121

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧