Foxtable(狐表)用户栏目专家坐堂 → [求助]诡异的问题求解


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

主题:[求助]诡异的问题求解

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


加好友 发短信
等级:幼狐 帖子:119 积分:963 威望:0 精华:0 注册:2012/3/30 10:09:00
[求助]诡异的问题求解  发帖心情 Post By:2013/1/9 10:47:00 [只看该作者]

想将字符串a的内容通过string.replace方法变成字符串b,结果失败。测试后发现诡异现象。求助。
附件中是代码,全部复制到命令窗口执行即可。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试代码.txt

期望值是“不同”,而实际值是“相同”。求解。

图片点击可在新窗口打开查看此主题相关图片如下:截图1
图片点击可在新窗口打开查看

下面截图2是在基本相同的代码在其他vb编译系统(sharpDevelop 3.5)下的代码及其执行结果。

图片点击可在新窗口打开查看此主题相关图片如下:截图2
图片点击可在新窗口打开查看
[此贴子已经被作者于2013-1-9 10:53:11编辑过]

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


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2013/1/9 11:04:00 [只看该作者]

 全角与半角的区别。实际他们是相同的。

 不能替换的代码是怎样的?贴出来,你可以先转成半角,再替换。

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


加好友 发短信
等级:幼狐 帖子:119 积分:963 威望:0 精华:0 注册:2012/3/30 10:09:00
  发帖心情 Post By:2013/1/9 12:43:00 [只看该作者]

 就是把a替换成b。
b=a.replace(" "," ")

不能使用全角半角转化,因为a中的全角字符除了空格外,其它标点符号的要求原样。
[此贴子已经被作者于2013-1-9 12:46:42编辑过]

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


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2013/1/9 13:06:00 [只看该作者]

 我测试可以替换的。有什么疑问?

'''
Dim a As String ="中间是个 空格"
Dim b As String ="中间是个 空格"

b=a.replace(" ","abc")
output.show(a=b)
[此贴子已经被作者于2013-1-9 13:06:37编辑过]

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


加好友 发短信
等级:幼狐 帖子:119 积分:963 威望:0 精华:0 注册:2012/3/30 10:09:00
  发帖心情 Post By:2013/1/9 15:50:00 [只看该作者]

楼上的是对的,但是没有意义。
我将编译的代码反汇编了一下,发现问题了。
'''
Dim a As String ="中间是个 空格"  '其中a="中间是个 空格"=b
Dim b As String ="中间是个 空格"

b=a.replace(" ","abc")
output.show(a=b)
也就是说foxtable编译时,汇编字符串中的全角空格直接替换为半角字符。结果就导致想把数据库中的一个字段中的全角空格时替换失败。

 回到顶部