以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]诡异的问题求解 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=27747) |
||||
-- 作者:gedogn -- 发布时间:2013/1/9 10:47:00 -- [求助]诡异的问题求解 想将字符串a的内容通过string.replace方法变成字符串b,结果失败。测试后发现诡异现象。求助。 附件中是代码,全部复制到命令窗口执行即可。
期望值是“不同”,而实际值是“相同”。求解。 此主题相关图片如下:截图1 下面截图2是在基本相同的代码在其他vb编译系统(sharpDevelop 3.5)下的代码及其执行结果。 此主题相关图片如下:截图2 [此贴子已经被作者于2013-1-9 10:53:11编辑过]
|
||||
-- 作者:lin_hailun -- 发布时间:2013/1/9 11:04:00 -- 全角与半角的区别。实际他们是相同的。 不能替换的代码是怎样的?贴出来,你可以先转成半角,再替换。 |
||||
-- 作者:gedogn -- 发布时间:2013/1/9 12:43:00 -- 就是把a替换成b。 b=a.replace(" "," ") 不能使用全角半角转化,因为a中的全角字符除了空格外,其它标点符号的要求原样。 [此贴子已经被作者于2013-1-9 12:46:42编辑过]
|
||||
-- 作者:lin_hailun -- 发布时间: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 -- 发布时间: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编译时,汇编字符串中的全角空格直接替换为半角字符。结果就导致想把数据库中的一个字段中的全角空格时替换失败。 |