C# 无法识别的字符阻止我将坐标解析为int
好的,我会尽力解释这个问题,尽管这有点难 我试图解析某个包含坐标的页面中的一些信息。 复制粘贴给你的是这样的东西: 距离位置C# 无法识别的字符阻止我将坐标解析为int,c#,C#,好的,我会尽力解释这个问题,尽管这有点难 我试图解析某个包含坐标的页面中的一些信息。 复制粘贴给你的是这样的东西: 距离位置 5.8(77|-2.) 6.3(76|-1.) 7.8(76|6.) 9.2(91|3.) 9.5(79|10) 12.2(80|13) 15(82|-14) 15(81|16)
5.8(77|-2.)
6.3(76|-1.)
7.8(76|6.)
9.2(91|3.)
9.5(79|10)
12.2(80|13)
15(82|-14)
15(81|16) 现在我遇到的问题是,在“(”和数字之间有一个未识别的字符,如果按向右箭头键,它不会移动,但如果按几次,它就会移动 我在任何地方都没有遇到过这种情况,如果有帮助的话,这个网站是用php编写的。 此外,如果这有助于我复制粘贴在这里的信息字符消失,我可以在文本中自由移动
请帮助我解决这个问题,因为它会导致我的软件出现故障,因为我试图将坐标解析为int,并且由于该字符不允许我使用,它会给我一个格式异常。在UTF-8中查看时,我什么也看不到,在将编码更改为ANSI时,我只剩下:
5.8 ‎â€(â€â€77‬‬|â€-â€2‬‬)‬‎
6.3 ‎â€(â€â€76‬‬|â€-â€1‬‬)‬‎
7.8 ‎â€(â€â€76‬‬|â€â€6‬‬)‬‎
9.2 ‎â€(â€â€91‬‬|â€â€3‬‬)‬‎
9.5 ‎â€(â€â€79‬‬|â€â€10‬‬)‬‎
12.2 ‎â€(â€â€80‬‬|â€â€13‬‬)‬‎
15 ‎â€(â€â€82‬‬|â€-â€14‬‬)‬‎
15 ‎â€(â€â€81‬‬|â€â€16‬‬)‬‎
您似乎使用了(字符),编码被交换了一两次
你可以清理它,因为它来自一个网站。我的第一个猜测是你的浏览器设置不正确(错误的编码设置)
你仍然可以试着清洗它
代码:
您使用的是C#和PHP?我使用的是C#,从PHP网站获取数据。好的,删除PHP标记,因为它与问题无关。数据源无关。@SagiroCach在这种情况下,PHP位无关。不要担心您调用的API的实现,只担心它定义的契约。“复制粘贴给你这样的东西”是没有意义的,因为复制和粘贴的是实际数据。将复制/粘贴的内容保存到一个文件中,然后在十六进制查看器中查看该文件,以查看它实际包含的内容,从而可以识别“未识别的字符”“。好的,那么我应该如何消除这种影响呢?我希望能够将坐标解析为2整数。谢谢。从网站复制粘贴(有更多数据,但我对其余部分没有任何问题,只有坐标)。请发布此网站,可能是他们添加了随机字符来绊倒您,或者您的浏览器上的设置不正确。坐标是链接,当我更改编码时,我开始使用这些 字符,但在UTF-8上我看它是干净的。有没有任何选项可以通过VS来完成?而不去外部网站?UTF-8是不干净的。你可以看到有不可见的字符,更改编码不起作用。我最好的猜测是网站编码的来源是混乱的。如果你不介意,你能在questio中发布网站吗N
Regex rgx = new Regex("[^a-zA-Z0-9_\n %\[\]\.\(\)%&-]");
data = rgx.Replace(data, "");