string s = "sadfasd\0\0\0\0\0fsadfsdfasdf";
string sm=s.Trim();
string sn = s.Trim('\0');
sn = s.Replace('\0', new char());
上面的代码都没效果。。~~~ 不知道如何弄了。
19 个解决方案
#1
Replace("\0", "");
#2
str.Replace('\0'.ToString(), string.Empty);
#3
sn = s.Replace("\0", "");
#4
sn = s.Replace("\0", "");
#5
str= s.Replace("\0", "");
#6
谢谢各位的回答,应该是我把问题描述简单了。
实际情况是 我会拿到 一个json的数据包(txt文件),里面有很多 \0\0\0 , 这个字符会导致反序列化出错。如果没有 \0\0这种字符,就能正确反序列化。
var jsonData = System.IO.File.ReadAllText(folder + "\\data.json");
jsonData = jsonData.Replace(”\0“, string.Empty);
JsonConvert.DeserializeObject<List<Core.AppModel.AppSite>>(jsonData);
这样写的Replace方式没有作用。\0并没有替换掉。
实际情况是 我会拿到 一个json的数据包(txt文件),里面有很多 \0\0\0 , 这个字符会导致反序列化出错。如果没有 \0\0这种字符,就能正确反序列化。
var jsonData = System.IO.File.ReadAllText(folder + "\\data.json");
jsonData = jsonData.Replace(”\0“, string.Empty);
JsonConvert.DeserializeObject<List<Core.AppModel.AppSite>>(jsonData);
这样写的Replace方式没有作用。\0并没有替换掉。
#7
版主大大,,你会再来看一眼么。。。
#8
Replace,\0应该已经去掉了,断点调试下,可能是\t或者\r,不过你这种方式获取json好像不靠谱
#9
str= s.Replace("\\0", "");
多加一个\试试
多加一个\试试
#10
来看了……
\0本来就是什么都没有……
LZ你这是在忽悠大家……
string s = "sadfasd\0\0\0\0\0fsadfsdfasdf";
s = s.Replace('\0'.ToString(), string.Empty);
Console.WriteLine(s);
\0本来就是什么都没有……
LZ你这是在忽悠大家……
#11
你最好把 data.json 放到云盘上!
这样就可使我们观察到真实情况(调试其中观察到的是有出入的)
这样就可使我们观察到真实情况(调试其中观察到的是有出入的)
#12
你最好把 data.json 放到云盘上!
这样就可使我们观察到真实情况(调试其中观察到的是有出入的)
这样就可使我们观察到真实情况(调试其中观察到的是有出入的)
#13
我自己当然断点调试了,就是没有去掉。第一次遇到这么诡异的问题,要不我也不来求助了。
没有\t ,\r. 我自己把json数据里的 \0\0 手工删除掉,就正常了。但不知为何代码就是去不掉。
#14
换成这样,肯定ok
s = s.Replace(@"\0", "");
s = s.Replace(@"\0", "");
#15
部分Json, (公司内不能外传文件,只能贴部分数据)
我没有忽悠你们啊
{"id":"301194_L850P2B_3085","itemId":3085,"show":true,"siteId":"301194_L850P2B","status":"finished","value":"8/301194_L850P2B/83/3085/As Built Photos Pre 18_1.jpg,8/301194_L850P2B/83/3085/As Built Photos Pre 18_2.jpg"},{"id":"301194_L850P2B_4207","itemId":4207,"show":true,"siteId":"301194_L850P2B","status":"finished","value":"true"},{"id":"301194_L850P2B_3089","itemId":3089,"show":true,"siteId":"301194_L850P2B","status":"finished","value":"021HPR10F6013652,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0022HEK10F4001489,21023166774ME9000734,21023166774ME9000721,21023166774ME9000812"},{"id":"301194_L850P2B_4203","itemId":4203,"show":true,"siteId":"301194_L850P2B","status":"finished","value":"8/301194_L850P2B/85/4203/Speed Test_1.jpg,8/301194_L850P2B/85/4203/Speed Test_2.jpg,8/301194_L850P2B/85/4203/Speed Test_3.jpg,8/301194_L850P2B/85/4203/Speed Test_4.jpg,8/301194_L850P2B/85/4203/Speed Test_5.jpg,8/301194_L850P2B/85/4203/Speed Test_6.jpg"},
#16
谢谢,这就是答案。高手啊,一针见血。
#17
要知道斜杠原本就是以字符串形式存在于文件中,不是你所理解的转移符,这样去考虑问题就迎刃而解了。
#18
一开始只是想到了 \0 它是个 char ....自己理解的不透彻啊,学习了。
#19
都是高手啊
![如何去除 字符串里的 \0\0 如何去除 字符串里的 \0\0](https://image.shishitao.com:8440/aHR0cHM6Ly93d3cuaXRkYWFuLmNvbS9nby9hSFIwY0hNNkx5OW1iM0oxYlM1amMyUnVMbTVsZEM5UWIybHVkRVp2Y25WdEwzVnBMM05qY21sd2RITXZZM05rYmk5UWJIVm5hVzR2TURBekwyMXZibXRsZVM4MUxtZHBaZz09.jpg?w=700&webp=1)
#20
#1
Replace("\0", "");
#2
str.Replace('\0'.ToString(), string.Empty);
#3
sn = s.Replace("\0", "");
#4
sn = s.Replace("\0", "");
#5
str= s.Replace("\0", "");
#6
谢谢各位的回答,应该是我把问题描述简单了。
实际情况是 我会拿到 一个json的数据包(txt文件),里面有很多 \0\0\0 , 这个字符会导致反序列化出错。如果没有 \0\0这种字符,就能正确反序列化。
var jsonData = System.IO.File.ReadAllText(folder + "\\data.json");
jsonData = jsonData.Replace(”\0“, string.Empty);
JsonConvert.DeserializeObject<List<Core.AppModel.AppSite>>(jsonData);
这样写的Replace方式没有作用。\0并没有替换掉。
实际情况是 我会拿到 一个json的数据包(txt文件),里面有很多 \0\0\0 , 这个字符会导致反序列化出错。如果没有 \0\0这种字符,就能正确反序列化。
var jsonData = System.IO.File.ReadAllText(folder + "\\data.json");
jsonData = jsonData.Replace(”\0“, string.Empty);
JsonConvert.DeserializeObject<List<Core.AppModel.AppSite>>(jsonData);
这样写的Replace方式没有作用。\0并没有替换掉。
#7
版主大大,,你会再来看一眼么。。。
#8
Replace,\0应该已经去掉了,断点调试下,可能是\t或者\r,不过你这种方式获取json好像不靠谱
#9
str= s.Replace("\\0", "");
多加一个\试试
多加一个\试试
#10
来看了……
\0本来就是什么都没有……
LZ你这是在忽悠大家……
string s = "sadfasd\0\0\0\0\0fsadfsdfasdf";
s = s.Replace('\0'.ToString(), string.Empty);
Console.WriteLine(s);
\0本来就是什么都没有……
LZ你这是在忽悠大家……
#11
你最好把 data.json 放到云盘上!
这样就可使我们观察到真实情况(调试其中观察到的是有出入的)
这样就可使我们观察到真实情况(调试其中观察到的是有出入的)
#12
你最好把 data.json 放到云盘上!
这样就可使我们观察到真实情况(调试其中观察到的是有出入的)
这样就可使我们观察到真实情况(调试其中观察到的是有出入的)
#13
我自己当然断点调试了,就是没有去掉。第一次遇到这么诡异的问题,要不我也不来求助了。
没有\t ,\r. 我自己把json数据里的 \0\0 手工删除掉,就正常了。但不知为何代码就是去不掉。
#14
换成这样,肯定ok
s = s.Replace(@"\0", "");
s = s.Replace(@"\0", "");
#15
部分Json, (公司内不能外传文件,只能贴部分数据)
我没有忽悠你们啊
{"id":"301194_L850P2B_3085","itemId":3085,"show":true,"siteId":"301194_L850P2B","status":"finished","value":"8/301194_L850P2B/83/3085/As Built Photos Pre 18_1.jpg,8/301194_L850P2B/83/3085/As Built Photos Pre 18_2.jpg"},{"id":"301194_L850P2B_4207","itemId":4207,"show":true,"siteId":"301194_L850P2B","status":"finished","value":"true"},{"id":"301194_L850P2B_3089","itemId":3089,"show":true,"siteId":"301194_L850P2B","status":"finished","value":"021HPR10F6013652,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0022HEK10F4001489,21023166774ME9000734,21023166774ME9000721,21023166774ME9000812"},{"id":"301194_L850P2B_4203","itemId":4203,"show":true,"siteId":"301194_L850P2B","status":"finished","value":"8/301194_L850P2B/85/4203/Speed Test_1.jpg,8/301194_L850P2B/85/4203/Speed Test_2.jpg,8/301194_L850P2B/85/4203/Speed Test_3.jpg,8/301194_L850P2B/85/4203/Speed Test_4.jpg,8/301194_L850P2B/85/4203/Speed Test_5.jpg,8/301194_L850P2B/85/4203/Speed Test_6.jpg"},
#16
谢谢,这就是答案。高手啊,一针见血。
#17
要知道斜杠原本就是以字符串形式存在于文件中,不是你所理解的转移符,这样去考虑问题就迎刃而解了。
#18
一开始只是想到了 \0 它是个 char ....自己理解的不透彻啊,学习了。
#19
都是高手啊
![如何去除 字符串里的 \0\0 如何去除 字符串里的 \0\0](https://image.shishitao.com:8440/aHR0cHM6Ly93d3cuaXRkYWFuLmNvbS9nby9hSFIwY0hNNkx5OW1iM0oxYlM1amMyUnVMbTVsZEM5UWIybHVkRVp2Y25WdEwzVnBMM05qY21sd2RITXZZM05rYmk5UWJIVm5hVzR2TURBekwyMXZibXRsZVM4MUxtZHBaZz09.jpg?w=700&webp=1)